• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
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 
16 namespace armnn
17 {
18 
19 arm_compute::Status ClTransposeWorkloadValidate(const TensorInfo& input,
20                                                 const TensorInfo& output,
21                                                 const TransposeDescriptor& descriptor);
22 
23 class ClTransposeWorkload : public BaseWorkload<TransposeQueueDescriptor>
24 {
25 public:
GetName()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 
35 private:
36     using BaseWorkload<TransposeQueueDescriptor>::m_Data;
37     mutable arm_compute::CLPermute m_PermuteFunction;
38 };
39 
40 } // namespace armnn
41