blob: c1bed93b9779ff6d0f8bbd2f651734072502b0eb [file] [log] [blame]
Mike Kellyc9ea45a2020-02-28 18:11:58 +00001//
2// Copyright © 2020 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include <backendsCommon/Workload.hpp>
9#include <backendsCommon/WorkloadData.hpp>
10
11#include <armnn/TypesUtils.hpp>
12#include <arm_compute/runtime/CL/functions/CLPermute.h>
13
14#include <string>
15
16namespace armnn
17{
18
19arm_compute::Status ClTransposeWorkloadValidate(const TensorInfo& input,
20 const TensorInfo& output,
21 const TransposeDescriptor& descriptor);
22
23class ClTransposeWorkload : public BaseWorkload<TransposeQueueDescriptor>
24{
25public:
26 static const std::string& GetName()
27 {
28 static const std::string name = std::string("ClTransposeWorkload");
29 return name;
30 }
31
32 ClTransposeWorkload(const TransposeQueueDescriptor& descriptor, const WorkloadInfo& info);
33 void Execute() const override;
34
35private:
36 using BaseWorkload<TransposeQueueDescriptor>::m_Data;
37 mutable arm_compute::CLPermute m_PermuteFunction;
38};
39
40} // namespace armnn