IVGCVSW-1946: Remove armnn/src from the include paths
[platform/upstream/armnn.git] / src / backends / cl / workloads / ClPermuteWorkload.hpp
1 //
2 // Copyright © 2017 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
16 namespace armnn
17 {
18
19 arm_compute::Status ClPermuteWorkloadValidate(const PermuteDescriptor& descriptor);
20
21 class ClPermuteWorkload : public BaseWorkload<PermuteQueueDescriptor>
22 {
23 public:
24     static const std::string& GetName()
25     {
26         static const std::string name = std::string("ClPermuteWorkload");
27         return name;
28     }
29
30     ClPermuteWorkload(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info);
31     void Execute() const override;
32
33 private:
34     using BaseWorkload<PermuteQueueDescriptor>::m_Data;
35     mutable arm_compute::CLPermute m_PermuteFunction;
36 };
37
38 } // namespace armnn