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