aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/workloads/NeonWorkloadUtils.hpp
diff options
context:
space:
mode:
authorMike Kelly <mike.kelly@arm.com>2022-11-25 13:55:24 +0000
committermike.kelly <mike.kelly@arm.com>2022-12-12 15:58:21 +0000
commitec67a0f08e0f96a5aebf3cac65331c67f6649f5e (patch)
tree94146a1f43c74d89d83fd5da54688ae0fc19cf85 /src/backends/neon/workloads/NeonWorkloadUtils.hpp
parent5383767a7a759c867235ab66bd71f88281e3bd06 (diff)
downloadarmnn-ec67a0f08e0f96a5aebf3cac65331c67f6649f5e.tar.gz
IVGCVSW-7209 Remove deprecated code due to be removed in 23.02
* Removed weights and bias from Convolution, DepthwiseConv & FullyConnected layers * Removed the weight and bias ConstTensorHandles from the QueueDescriptors * Updated Workloads to take tensors from WorkloadInfo rather than the QueueDescriptors * Removed unused RedirectMembersToConstantInputs optimization and tests. Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I9ffcdc4a1c0dff725539dd69fc435b700bd98a56
Diffstat (limited to 'src/backends/neon/workloads/NeonWorkloadUtils.hpp')
-rw-r--r--src/backends/neon/workloads/NeonWorkloadUtils.hpp38
1 files changed, 37 insertions, 1 deletions
diff --git a/src/backends/neon/workloads/NeonWorkloadUtils.hpp b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
index f9c3718e14..9f8bb9540e 100644
--- a/src/backends/neon/workloads/NeonWorkloadUtils.hpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2017,2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
@@ -58,6 +58,42 @@ void CopyArmComputeTensorData(arm_compute::Tensor& dstTensor, const T* srcData)
}
inline void InitializeArmComputeTensorData(arm_compute::Tensor& tensor,
+ TensorInfo tensorInfo,
+ const ITensorHandle* handle)
+{
+ ARMNN_ASSERT(handle);
+
+ switch(tensorInfo.GetDataType())
+ {
+ case DataType::Float16:
+ CopyArmComputeTensorData(tensor, reinterpret_cast<const armnn::Half*>(handle->Map()));
+ break;
+ case DataType::Float32:
+ CopyArmComputeTensorData(tensor, reinterpret_cast<const float*>(handle->Map()));
+ break;
+ case DataType::QAsymmU8:
+ CopyArmComputeTensorData(tensor, reinterpret_cast<const uint8_t*>(handle->Map()));
+ break;
+ case DataType::QSymmS8:
+ case DataType::QAsymmS8:
+ CopyArmComputeTensorData(tensor, reinterpret_cast<const int8_t*>(handle->Map()));
+ break;
+ case DataType::Signed32:
+ CopyArmComputeTensorData(tensor, reinterpret_cast<const int32_t*>(handle->Map()));
+ break;
+ case DataType::QSymmS16:
+ CopyArmComputeTensorData(tensor, reinterpret_cast<const int16_t*>(handle->Map()));
+ break;
+ case DataType::BFloat16:
+ CopyArmComputeTensorData(tensor, reinterpret_cast<const armnn::BFloat16*>(handle->Map()));
+ break;
+ default:
+ // Throw exception; assertion not called in release build.
+ throw Exception("Unexpected tensor type during InitializeArmComputeTensorData().");
+ }
+};
+
+inline void InitializeArmComputeTensorData(arm_compute::Tensor& tensor,
const ConstTensorHandle* handle)
{
ARMNN_ASSERT(handle);