blob: 65a8fd76cfb10bf4eeceded7643890ff8dc42a9c [file] [log] [blame]
Ruomei Yan495852f2019-05-23 11:37:33 +01001//
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
12namespace armnn
13{
14
15class RefDepthwiseConvolution2dWorkload : public BaseWorkload<DepthwiseConvolution2dQueueDescriptor> {
16public:
17 explicit RefDepthwiseConvolution2dWorkload(const DepthwiseConvolution2dQueueDescriptor &descriptor,
18 const WorkloadInfo &info);
19
Ruomei Yan495852f2019-05-23 11:37:33 +010020
Finn Williamsb8181f72021-04-07 10:23:21 +010021 void Execute() const override;
22 void ExecuteAsync(WorkingMemDescriptor& workingMemDescriptor) override;
Ruomei Yan495852f2019-05-23 11:37:33 +010023
24private:
Finn Williamsb8181f72021-04-07 10:23:21 +010025 void Execute(std::vector<ITensorHandle*> inputs, std::vector<ITensorHandle*> outputs) const;
Ruomei Yan495852f2019-05-23 11:37:33 +010026
27 std::unique_ptr <ScopedCpuTensorHandle> m_Weight;
28 std::unique_ptr <ScopedCpuTensorHandle> m_Bias;
29
Ruomei Yan495852f2019-05-23 11:37:33 +010030 std::unique_ptr <Decoder<float>> m_FilterDecoder;
31 std::unique_ptr <Decoder<float>> m_BiasDecoder;
32
Ruomei Yan495852f2019-05-23 11:37:33 +010033 TensorShape m_FilterShape;
34};
35
36} //namespace armnn