1 // 2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 6 #pragma once 7 8 #include "NeonBaseWorkload.hpp" 9 #include <armnn/backends/WorkloadData.hpp> 10 #include <neon/workloads/NeonWorkloadUtils.hpp> 11 12 #include <armnn/TypesUtils.hpp> 13 #include <arm_compute/runtime/NEON/functions/NEPermute.h> 14 15 #include <string> 16 17 namespace armnn 18 { 19 arm_compute::Status NeonPermuteWorkloadValidate(const TensorInfo& input, const TensorInfo& output, 20 const PermuteDescriptor& descriptor); 21 22 class NeonPermuteWorkload : public NeonBaseWorkload<PermuteQueueDescriptor> 23 { 24 public: GetName()25 static const std::string& GetName() 26 { 27 static const std::string name = std::string("NeonPermuteWorkload"); 28 return name; 29 } 30 31 NeonPermuteWorkload(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info); 32 void Execute() const override; 33 34 private: 35 using BaseWorkload<PermuteQueueDescriptor>::m_Data; 36 mutable arm_compute::NEPermute m_PermuteFunction; 37 }; 38 39 } // namespace armnn 40