blob: 5affe682b461acf6ebf55a85141544d3666405d4 [file] [log] [blame]
surmeh01bceff2f2018-03-29 16:29:27 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
surmeh01bceff2f2018-03-29 16:29:27 +01004//
5
6#include "NeonConvolution2dUint8Workload.hpp"
7
surmeh01bceff2f2018-03-29 16:29:27 +01008namespace armnn
9{
surmeh013537c2c2018-05-18 16:31:43 +010010
surmeh01bceff2f2018-03-29 16:29:27 +010011NeonConvolution2dUint8Workload::NeonConvolution2dUint8Workload(const Convolution2dQueueDescriptor& descriptor,
surmeh013537c2c2018-05-18 16:31:43 +010012 const WorkloadInfo& info, std::shared_ptr<arm_compute::MemoryManagerOnDemand>& memoryManager)
13 : NeonConvolution2dBaseWorkload(descriptor, info, memoryManager)
surmeh01bceff2f2018-03-29 16:29:27 +010014{
15 if (m_Data.m_Parameters.m_BiasEnabled)
16 {
telsoa01c577f2c2018-08-31 09:22:23 +010017 InitialiseArmComputeTensorData(*m_BiasTensor, m_Data.m_Bias->template GetConstTensor<int32_t>());
surmeh01bceff2f2018-03-29 16:29:27 +010018 }
surmeh01bceff2f2018-03-29 16:29:27 +010019
telsoa01c577f2c2018-08-31 09:22:23 +010020 m_ConvolutionLayer->prepare();
21 FreeUnusedTensors();
22}
surmeh01bceff2f2018-03-29 16:29:27 +010023
24void NeonConvolution2dUint8Workload::Execute() const
25{
telsoa01c577f2c2018-08-31 09:22:23 +010026 ARMNN_SCOPED_PROFILING_EVENT_NEON("NeonConvolution2dUint8Workload_Execute");
surmeh01bceff2f2018-03-29 16:29:27 +010027 m_ConvolutionLayer->run();
28}
29
30void NeonConvolution2dUint8Workload::ValidateData() const
31{
32 m_Data.ValidateInputsOutputs("NeonConvolution2dUint8Workload", 1, 1);
33}
34
surmeh013537c2c2018-05-18 16:31:43 +010035} //namespace armnn