• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #include <backendsCommon/Workload.hpp>
6 #include <backendsCommon/WorkloadData.hpp>
7 #include "Decoders.hpp"
8 #include "Encoders.hpp"
9 
10 #include <armnn/TypesUtils.hpp>
11 
12 namespace armnn
13 {
14 
15 class RefDepthwiseConvolution2dWorkload : public BaseWorkload<DepthwiseConvolution2dQueueDescriptor> {
16 public:
17     explicit RefDepthwiseConvolution2dWorkload(const DepthwiseConvolution2dQueueDescriptor &descriptor,
18                                                const WorkloadInfo &info);
19 
20     void PostAllocationConfigure() override;
21 
22     virtual void Execute() const override;
23 
24 private:
25 
26     std::unique_ptr <ScopedCpuTensorHandle> m_Weight;
27     std::unique_ptr <ScopedCpuTensorHandle> m_Bias;
28 
29     std::unique_ptr <Decoder<float>> m_InputDecoder;
30     std::unique_ptr <Encoder<float>> m_OutputEncoder;
31     std::unique_ptr <Decoder<float>> m_FilterDecoder;
32     std::unique_ptr <Decoder<float>> m_BiasDecoder;
33 
34     TensorShape m_InputShape;
35     TensorShape m_OutputShape;
36     TensorShape m_FilterShape;
37 };
38 
39 } //namespace armnn
40