From 3ee6e8299c34da5f29fd5b2cca435a35891ed9b6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EA=B9=80=EC=88=98=EC=A7=84/=EB=8F=99=EC=9E=91=EC=A0=9C?= =?utf8?q?=EC=96=B4Lab=28SR=29/Engineer/=EC=82=BC=EC=84=B1=EC=A0=84?= =?utf8?q?=EC=9E=90?= Date: Fri, 14 Dec 2018 15:25:01 +0900 Subject: [PATCH] [neurun] Remove backend/acl_cl/kernel/View.h (#4003) Related : #3983 This commit removes `backend/acl_cl/kernel/View.h` that is duplicated with other `View` classes. Signed-off-by: sjsujinkim --- runtimes/neurun/src/backend/acl_cl/kernel/View.h | 87 ------------------------ runtimes/neurun/src/kernel/acl_cl/ConcatLayer.cc | 6 +- runtimes/neurun/src/util/feature/nchw/View.h | 3 +- 3 files changed, 5 insertions(+), 91 deletions(-) delete mode 100644 runtimes/neurun/src/backend/acl_cl/kernel/View.h diff --git a/runtimes/neurun/src/backend/acl_cl/kernel/View.h b/runtimes/neurun/src/backend/acl_cl/kernel/View.h deleted file mode 100644 index 214ce47..0000000 --- a/runtimes/neurun/src/backend/acl_cl/kernel/View.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __INTERNAL_ARM_COMPUTE_KERNEL_VIEW_H__ -#define __INTERNAL_ARM_COMPUTE_KERNEL_VIEW_H__ - -#include "misc/kernel/Shape.h" -#include "misc/kernel/Reader.h" -#include "backend/interface/operand/ITensor.h" -#include "util/feature/Coordinate4D.h" - -#include - -namespace internal -{ -namespace arm_compute -{ -namespace kernel -{ - -template class View; - -template <> class View final : public nnfw::misc::kernel::Reader -{ -public: - View(::neurun::backend::operand::ITensor *tensor) : _tensor{tensor} - { - _shape.N = tensor->dimension(3); - _shape.C = tensor->dimension(2); - _shape.H = tensor->dimension(1); - _shape.W = tensor->dimension(0); - } - -public: - const ::nnfw::misc::kernel::Shape &shape(void) const { return _shape; } - -public: - float at(uint32_t nth, uint32_t ch, uint32_t row, uint32_t col) const override - { - const auto offset = kernel_index_to_byte_offset(nth, ch, row, col); - - float *ptr = reinterpret_cast(_tensor->buffer() + offset); - - return *ptr; - } - -public: - float &at(uint32_t nth, uint32_t ch, uint32_t row, uint32_t col) - { - const auto offset = kernel_index_to_byte_offset(nth, ch, row, col); - - float *ptr = reinterpret_cast(_tensor->buffer() + offset); - - return *ptr; - } - -private: - size_t kernel_index_to_byte_offset(uint32_t nth, uint32_t ch, uint32_t row, uint32_t col) const - { - return _tensor->calcOffset( - neurun::util::feature::Coordinate4D{static_cast(nth), static_cast(row), - static_cast(col), static_cast(ch)}); - } - -private: - ::nnfw::misc::kernel::Shape _shape; - ::neurun::backend::operand::ITensor *_tensor; -}; - -} // namespace kernel -} // namespace arm_compute -} // namespace internal - -#endif // __INTERNAL_ARM_COMPUTE_FEATURE_VIEW_H__ diff --git a/runtimes/neurun/src/kernel/acl_cl/ConcatLayer.cc b/runtimes/neurun/src/kernel/acl_cl/ConcatLayer.cc index 6d07972..ce16896 100644 --- a/runtimes/neurun/src/kernel/acl_cl/ConcatLayer.cc +++ b/runtimes/neurun/src/kernel/acl_cl/ConcatLayer.cc @@ -18,7 +18,7 @@ #include -#include "backend/acl_cl/kernel/View.h" +#include "util/feature/nchw/View.h" #include "logging.h" namespace @@ -81,12 +81,12 @@ bool ConcatLayer::concatenationFloat32() auto &queue = ::arm_compute::CLScheduler::get().queue(); _output_alloc->map(queue); - ::internal::arm_compute::kernel::View output_view{_output_alloc}; + util::feature::nchw::View output_view{_output_alloc}; for (auto input : _input_allocs) { input->map(queue); - const ::internal::arm_compute::kernel::View input_reader{input}; + const util::feature::nchw::View input_reader{input}; for (uint32_t n = 0; n < input_reader.shape().N; n++) { diff --git a/runtimes/neurun/src/util/feature/nchw/View.h b/runtimes/neurun/src/util/feature/nchw/View.h index fa20d6e..048fdec 100644 --- a/runtimes/neurun/src/util/feature/nchw/View.h +++ b/runtimes/neurun/src/util/feature/nchw/View.h @@ -18,6 +18,7 @@ #define __NEURUN_UTIL_FEATURE_NCHW_VIEW_H__ #include "misc/feature/Reader.h" +#include "misc/feature/Shape.h" #include "backend/interface/operand/ITensor.h" #include "util/feature/Coordinate4D.h" @@ -39,7 +40,7 @@ public: View(::neurun::backend::operand::ITensor *tensor) : _tensor{tensor} { // TODO Validate whether tensor is a feature map, or not - + _shape.N = tensor->dimension(3); _shape.C = tensor->dimension(2); _shape.H = tensor->dimension(1); _shape.W = tensor->dimension(0); -- 2.7.4