blob: b5f2ae92235cb6145bb96499877b569dd3e9afb3 [file] [log] [blame]
Nattapat Chaimanowong77140882018-10-17 11:12:19 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00008#include <neon/workloads/NeonWorkloadUtils.hpp>
Nattapat Chaimanowong77140882018-10-17 11:12:19 +01009
10namespace armnn
11{
12
13arm_compute::Status NeonDepthwiseConvolutionWorkloadValidate(const TensorInfo& input,
14 const TensorInfo& output,
15 const DepthwiseConvolution2dDescriptor& descriptor,
16 const TensorInfo& weights,
17 const Optional<TensorInfo>& biases);
18
19class NeonDepthwiseConvolutionWorkload : public BaseWorkload<DepthwiseConvolution2dQueueDescriptor>
20{
21public:
22 NeonDepthwiseConvolutionWorkload(const DepthwiseConvolution2dQueueDescriptor& descriptor,
23 const WorkloadInfo& info);
24
25 virtual void Execute() const override;
26
27private:
28 mutable std::unique_ptr<arm_compute::IFunction> m_pDepthwiseConvolutionLayer;
29
30 std::unique_ptr<arm_compute::Tensor> m_KernelTensor;
31 std::unique_ptr<arm_compute::Tensor> m_BiasTensor;
32
33 void FreeUnusedTensors();
34};
35
36} // namespace armnn