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 TensorInfo& input, 20 const TensorInfo& output, 21 const PermuteDescriptor& descriptor); 22 23 class ClPermuteWorkload : public BaseWorkload<PermuteQueueDescriptor> 24 { 25 public: GetName()26 static const std::string& GetName() 27 { 28 static const std::string name = std::string("ClPermuteWorkload"); 29 return name; 30 } 31 32 ClPermuteWorkload(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info); 33 void Execute() const override; 34 35 private: 36 using BaseWorkload<PermuteQueueDescriptor>::m_Data; 37 mutable arm_compute::CLPermute m_PermuteFunction; 38 }; 39 40 } // namespace armnn 41