diff options
Diffstat (limited to 'libs/kernel/acl/src/IO_accessor.h')
-rw-r--r-- | libs/kernel/acl/src/IO_accessor.h | 196 |
1 files changed, 0 insertions, 196 deletions
diff --git a/libs/kernel/acl/src/IO_accessor.h b/libs/kernel/acl/src/IO_accessor.h deleted file mode 100644 index e7670f15c..000000000 --- a/libs/kernel/acl/src/IO_accessor.h +++ /dev/null @@ -1,196 +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 __NNFW_KERNEL_ACL_IO_ACCESSOR_H__ -#define __NNFW_KERNEL_ACL_IO_ACCESSOR_H__ - -#include <arm_compute/graph/ITensorAccessor.h> -#include <arm_compute/runtime/CL/CLFunctions.h> -#include <arm_compute/runtime/NEON/NEFunctions.h> - -#include <OperationsUtils.h> // for nnfw::rt::Shape - -namespace nnfw { -namespace kernel { -namespace acl { - -class InputAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - InputAccessor(const float* inputData, const nnfw::rt::Shape& inputShape); - InputAccessor(InputAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - const float* _inputData; - const nnfw::rt::Shape& _inputShape; -}; - -class MatrixInputAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - MatrixInputAccessor(const float* inputData, const nnfw::rt::Shape& inputShape); - MatrixInputAccessor(MatrixInputAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - const float* _inputData; - const nnfw::rt::Shape& _inputShape; -}; - -class VectorInputAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - VectorInputAccessor(const float* inputData, const nnfw::rt::Shape& inputShape); - VectorInputAccessor(VectorInputAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - const float* _inputData; - const nnfw::rt::Shape& _inputShape; -}; - -class WeightAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - WeightAccessor(const float* filterData, const nnfw::rt::Shape& filterShape); - WeightAccessor(WeightAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - const float* _filterData; - const nnfw::rt::Shape& _filterShape; -}; - -class MatrixWeightAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - MatrixWeightAccessor(const float* filterData, const nnfw::rt::Shape& filterShape); - MatrixWeightAccessor(MatrixWeightAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - const float* _filterData; - const nnfw::rt::Shape& _filterShape; -}; - -class BiasAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - BiasAccessor(const float* biasData, const nnfw::rt::Shape& biasShape); - BiasAccessor(BiasAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - const float* _biasData; - const nnfw::rt::Shape& _biasShape; -}; - -class OutputAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - OutputAccessor(float* outputData, const nnfw::rt::Shape& outputShape); - OutputAccessor(OutputAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - float* _outputData; - const nnfw::rt::Shape& _outputShape; -}; - -class MatrixOutputAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - MatrixOutputAccessor(float* outputData, const nnfw::rt::Shape& outputShape); - MatrixOutputAccessor(MatrixOutputAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - float* _outputData; - const nnfw::rt::Shape& _outputShape; -}; - -class VectorOutputAccessor : public arm_compute::graph::ITensorAccessor -{ -public: - VectorOutputAccessor(float* outputData, const nnfw::rt::Shape& outputShape); - VectorOutputAccessor(VectorOutputAccessor&&) = default; - - // Inherited methods overriden: - bool access_tensor(arm_compute::ITensor& tensor) override; - -private: - float* _outputData; - const nnfw::rt::Shape& _outputShape; -}; - -template<typename AccessorType> -inline void TensorAccess(arm_compute::CLTensor& tensor, const float* data, - const nnfw::rt::Shape& shape) -{ - tensor.map(); - AccessorType accessor(data, shape); - accessor.access_tensor(tensor); - tensor.unmap(); -} - -template<typename AccessorType> -inline void TensorAccess(arm_compute::CLTensor& tensor, float* data, - const nnfw::rt::Shape& shape) -{ - tensor.map(); - AccessorType accessor(data, shape); - accessor.access_tensor(tensor); - tensor.unmap(); -} - -template<typename AccessorType> -inline void TensorAccess(arm_compute::Tensor& tensor, const float* data, - const nnfw::rt::Shape& shape) -{ - AccessorType accessor(data, shape); - accessor.access_tensor(tensor); -} - -template<typename AccessorType> -inline void TensorAccess(arm_compute::Tensor& tensor, float* data, - const nnfw::rt::Shape& shape) -{ - AccessorType accessor(data, shape); - accessor.access_tensor(tensor); -} - -} // namespace acl -} // namespace kernel -} // namespace nnfw - -#endif // __NNFW_KERNEL_ACL_IO_ACCESSOR_H__ |