diff options
author | Mike Kelly <mike.kelly@arm.com> | 2019-05-22 17:21:49 +0100 |
---|---|---|
committer | Ruomei Yan <ruomei.yan@arm.com> | 2019-05-23 09:23:19 +0000 |
commit | 9b3983299f882c8d84c5abd0d40ca75a801ea7f2 (patch) | |
tree | 40866201c7a65b5c4d10034b5f03a35070cc961f /src/backends/reference/workloads/RefConvolution2dUint8Workload.cpp | |
parent | 31b2e134c392617de7a41c56d460ac494eab0140 (diff) | |
download | armnn-9b3983299f882c8d84c5abd0d40ca75a801ea7f2.tar.gz |
IVGCVSW-3025: Refactor reference Convolution2d workload
* Refactored RefConvolution2dWorkload to support all DataTypes through Encoders and Decoders.
* Added Convolute function to ConvImpl that uses Encoders and Decoders to support all DataTypes.
* Deleted RefConvolution2dFloat32Workload and RefConvolution2dUint8Workload.
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ic5ef0f499d08b948fa65fdee54b5f681fd0b1c05
Diffstat (limited to 'src/backends/reference/workloads/RefConvolution2dUint8Workload.cpp')
-rw-r--r-- | src/backends/reference/workloads/RefConvolution2dUint8Workload.cpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/src/backends/reference/workloads/RefConvolution2dUint8Workload.cpp b/src/backends/reference/workloads/RefConvolution2dUint8Workload.cpp deleted file mode 100644 index af2c7ad0d6..0000000000 --- a/src/backends/reference/workloads/RefConvolution2dUint8Workload.cpp +++ /dev/null @@ -1,42 +0,0 @@ -// -// Copyright © 2017 Arm Ltd. All rights reserved. -// SPDX-License-Identifier: MIT -// - -#include "RefConvolution2dUint8Workload.hpp" - -#include "ConvImpl.hpp" -#include "RefWorkloadUtils.hpp" - -#include "Profiling.hpp" - -namespace armnn -{ -RefConvolution2dUint8Workload::RefConvolution2dUint8Workload( - const Convolution2dQueueDescriptor& descriptor, const WorkloadInfo& info) - : Uint8Workload<Convolution2dQueueDescriptor>(descriptor, info), - m_Weight(std::make_unique<ScopedCpuTensorHandle>(*(descriptor.m_Weight))), - m_Bias(descriptor.m_Parameters.m_BiasEnabled - ? std::make_unique<ScopedCpuTensorHandle>(*(descriptor.m_Bias)) : nullptr) {} - -void RefConvolution2dUint8Workload::Execute() const -{ - ARMNN_SCOPED_PROFILING_EVENT(Compute::CpuRef, "RefConvolution2dUint8Workload_Execute"); - - const uint8_t* inputData = GetInputTensorDataU8(0, m_Data); - const TensorInfo& inputInfo = GetTensorInfo(m_Data.m_Inputs[0]); - const uint8_t* weightsData = m_Weight->template GetConstTensor<uint8_t>(); - const TensorInfo& weightsInfo = GetTensorInfo(m_Weight.get()); - const int32_t* biasData = m_Data.m_Parameters.m_BiasEnabled ? m_Bias->template GetConstTensor<int32_t>() : nullptr; - const TensorInfo& outputInfo = GetTensorInfo(m_Data.m_Outputs[0]); - const TensorInfo& filterInfo = m_Weight->GetTensorInfo(); - - ConvImpl<armnn::Convolution2dQueueDescriptor, uint8_t, int32_t, int32_t>( - m_Data, - inputData, inputInfo.GetQuantizationScale(), inputInfo.GetQuantizationOffset(), - weightsData, weightsInfo.GetQuantizationScale(), weightsInfo.GetQuantizationOffset(), - biasData, - outputInfo.GetQuantizationScale(), outputInfo.GetQuantizationOffset(), filterInfo); -} - -} //namespace armnn |