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