Release 18.02
[platform/upstream/armnn.git] / src / armnn / backends / NeonWorkloads / NeonConvolution2dBaseWorkload.hpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
4 //
5
6 #include <backends/Workload.hpp>
7 #include <backends/NeonWorkloadUtils.hpp>
8
9 #include "backends/CpuTensorHandle.hpp"
10 #include "backends/ArmComputeTensorUtils.hpp"
11 #include "backends/NeonLayerSupport.hpp"
12
13 namespace armnn
14 {
15
16 template<armnn::DataType dataType>
17 class NeonConvolution2dBaseWorkload : public TypedWorkload<Convolution2dQueueDescriptor, dataType>
18 {
19 public:
20     using TypedWorkload<Convolution2dQueueDescriptor, dataType>::m_Data;
21
22     NeonConvolution2dBaseWorkload(const Convolution2dQueueDescriptor& descriptor, const WorkloadInfo& info);
23
24     virtual void ValidateData() const {};
25
26 protected:
27     std::unique_ptr<arm_compute::IFunction> m_ConvolutionLayer;
28     arm_compute::Tensor m_KernelTensor;
29     arm_compute::Tensor m_BiasTensor;
30 };
31 } //namespace armnn