From: 이한종/동작제어Lab(SR)/Engineer/삼성전자 Date: Wed, 5 Dec 2018 07:13:44 +0000 (+0900) Subject: [neurun] Remove internal/nnapi (#3880) X-Git-Tag: 0.3~198 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8a2572754905b6e305cec4ee5384b6aa93d889de;p=platform%2Fcore%2Fml%2Fnnfw.git [neurun] Remove internal/nnapi (#3880) Now that we removed the use of classes in `internal::nnapi::kernel`, we can remove this directory. Related PR : #3862 Signed-off-by: Hanjoung Lee --- diff --git a/runtimes/neurun/src/internal/nnapi/kernel/Reader.h b/runtimes/neurun/src/internal/nnapi/kernel/Reader.h deleted file mode 100644 index 9d93800..0000000 --- a/runtimes/neurun/src/internal/nnapi/kernel/Reader.h +++ /dev/null @@ -1,70 +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_NNAPI_KERNEL_READER_H__ -#define __INTERNAL_NNAPI_KERNEL_READER_H__ - -#include "util/kernel/Shape.h" -#include "util/kernel/Reader.h" - -namespace internal -{ -namespace nnapi -{ -namespace kernel -{ - -template class Reader final : public nnfw::util::kernel::Reader -{ -public: - Reader(const ::nnfw::util::kernel::Shape &shape, const uint8_t *base, size_t size) - : _shape{shape}, _base{base}, _size{size} - { - // DO NOTHING - } - -public: - const nnfw::util::kernel::Shape &shape(void) const { return _shape; } - -public: - T at(uint32_t nth, uint32_t ch, uint32_t row, uint32_t col) const override - { - // NNAPI uses NHWC ordering - uint32_t index = 0; - - index += nth * _shape.H * _shape.W * _shape.C; - index += row * _shape.W * _shape.C; - index += col * _shape.C; - index += ch; - - const T *ptr = reinterpret_cast(_base); - - return ptr[index]; - } - -private: - nnfw::util::kernel::Shape _shape; - -private: - const uint8_t *_base; - const size_t _size; -}; - -} // namespace kernel -} // namespace nnapi -} // namespace internal - -#endif // __INTERNAL_NNAPI_KERNEL_READER_H__ diff --git a/runtimes/neurun/src/internal/nnapi/kernel/View.h b/runtimes/neurun/src/internal/nnapi/kernel/View.h deleted file mode 100644 index f496868..0000000 --- a/runtimes/neurun/src/internal/nnapi/kernel/View.h +++ /dev/null @@ -1,88 +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_NNAPI_KERNEL_VIEW_H__ -#define __INTERNAL_NNAPI_KERNEL_VIEW_H__ - -#include "util/kernel/Shape.h" -#include "util/kernel/Reader.h" - -#include "backend/cpu/operand/Tensor.h" - -namespace internal -{ -namespace nnapi -{ -namespace kernel -{ - -template class View final : public nnfw::util::kernel::Reader -{ -public: - View(::neurun::backend::cpu::operand::Tensor *tensor) : _tensor{tensor} - { - assert(tensor->data_type() == ::neurun::graph::operand::DataType::TENSOR_FLOAT32); - - _shape.N = tensor->dimension(0); - _shape.C = tensor->dimension(3); - _shape.H = tensor->dimension(1); - _shape.W = tensor->dimension(2); - } - -public: - const nnfw::util::kernel::Shape &shape(void) const { return _shape; } - -public: - float at(uint32_t nth, uint32_t row, uint32_t col, uint32_t ch) const override - { - // NNAPI uses NHWC ordering - uint32_t index = 0; - - index += nth * _shape.H * _shape.W * _shape.C; - index += row * _shape.W * _shape.C; - index += col * _shape.C; - index += ch; - - float *ptr = reinterpret_cast(_tensor->buffer()); - - return ptr[index]; - } - - float &at(uint32_t nth, uint32_t row, uint32_t col, uint32_t ch) - { - // NNAPI uses NHWC ordering - uint32_t index = 0; - - index += nth * _shape.H * _shape.W * _shape.C; - index += row * _shape.W * _shape.C; - index += col * _shape.C; - index += ch; - - float *ptr = reinterpret_cast(_tensor->buffer()); - - return ptr[index]; - } - -private: - nnfw::util::kernel::Shape _shape; - ::neurun::backend::cpu::operand::Tensor *_tensor; -}; - -} // namespace kernel -} // namespace nnapi -} // namespace internal - -#endif // __INTERNAL_NNAPI_KERNEL_VIEW_H__