From 0dbe0ee25312b728d77383d11c465156e64ae757 Mon Sep 17 00:00:00 2001 From: David Beck Date: Mon, 24 Sep 2018 15:59:27 +0100 Subject: IVGCVSW-1899 : Neon backend folder structure armnn:149855 Change-Id: I26e8cf83422a65049386a5ebdb6d0001627aefaa --- src/backends/neon/workloads/NeonWorkloadUtils.cpp | 60 +++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/backends/neon/workloads/NeonWorkloadUtils.cpp (limited to 'src/backends/neon/workloads/NeonWorkloadUtils.cpp') diff --git a/src/backends/neon/workloads/NeonWorkloadUtils.cpp b/src/backends/neon/workloads/NeonWorkloadUtils.cpp new file mode 100644 index 0000000000..195f090171 --- /dev/null +++ b/src/backends/neon/workloads/NeonWorkloadUtils.cpp @@ -0,0 +1,60 @@ +// +// Copyright © 2017 Arm Ltd. All rights reserved. +// SPDX-License-Identifier: MIT +// +#include "NeonWorkloadUtils.hpp" +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#include "Profiling.hpp" + +#include +#include + +using namespace armnn::armcomputetensorutils; + +namespace armnn +{ + +// Allocates a tensor and copy the contents in data to the tensor contents. +template +void InitialiseArmComputeTensorData(arm_compute::Tensor& tensor, const T* data) +{ + InitialiseArmComputeTensorEmpty(tensor); + CopyArmComputeITensorData(data, tensor); +} + +template void InitialiseArmComputeTensorData(arm_compute::Tensor& tensor, const Half* data); +template void InitialiseArmComputeTensorData(arm_compute::Tensor& tensor, const float* data); +template void InitialiseArmComputeTensorData(arm_compute::Tensor& tensor, const uint8_t* data); +template void InitialiseArmComputeTensorData(arm_compute::Tensor& tensor, const int32_t* data); + +void InitializeArmComputeTensorDataForFloatTypes(arm_compute::Tensor& tensor, + const ConstCpuTensorHandle* handle) +{ + BOOST_ASSERT(handle); + switch(handle->GetTensorInfo().GetDataType()) + { + case DataType::Float16: + InitialiseArmComputeTensorData(tensor, handle->GetConstTensor()); + break; + case DataType::Float32: + InitialiseArmComputeTensorData(tensor, handle->GetConstTensor()); + break; + default: + BOOST_ASSERT_MSG(false, "Unexpected floating point type."); + } +}; + +} //namespace armnn -- cgit v1.2.1