1 // 2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "ClBaseWorkload.hpp" 9 #include <armnn/backends/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 ClBaseWorkload<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, 33 const WorkloadInfo& info, 34 const arm_compute::CLCompileContext& clCompileContext); 35 void Execute() const override; 36 37 private: 38 using BaseWorkload<PermuteQueueDescriptor>::m_Data; 39 mutable arm_compute::CLPermute m_PermuteFunction; 40 }; 41 42 } // namespace armnn 43