Release 18.03
[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 #pragma once
7
8 #include <backends/Workload.hpp>
9 #include <backends/NeonWorkloadUtils.hpp>
10
11 #include "backends/CpuTensorHandle.hpp"
12 #include "backends/ArmComputeTensorUtils.hpp"
13 #include "backends/NeonLayerSupport.hpp"
14
15 namespace armnn
16 {
17
18 template<armnn::DataType dataType>
19 class NeonConvolution2dBaseWorkload : public TypedWorkload<Convolution2dQueueDescriptor, dataType>
20 {
21 public:
22     using TypedWorkload<Convolution2dQueueDescriptor, dataType>::m_Data;
23
24     NeonConvolution2dBaseWorkload(const Convolution2dQueueDescriptor& descriptor, const WorkloadInfo& info);
25
26     virtual void ValidateData() const {};
27
28 protected:
29     std::unique_ptr<arm_compute::IFunction> m_ConvolutionLayer;
30     arm_compute::Tensor m_KernelTensor;
31     arm_compute::Tensor m_BiasTensor;
32 };
33 } //namespace armnn