2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // See LICENSE file in the project root for full license information.
8 #include "backends/Workload.hpp"
9 #include "backends/WorkloadData.hpp"
10 #include "backends/NeonWorkloadUtils.hpp"
12 #include <armnn/TypesUtils.hpp>
13 #include <arm_compute/runtime/NEON/functions/NEPermute.h>
19 arm_compute::Status NeonPermuteWorkloadValidate(const TensorInfo& input, const TensorInfo& output,
20 const PermuteDescriptor& descriptor);
22 template <armnn::DataType... DataTypes>
23 class NeonPermuteWorkload : public TypedWorkload<PermuteQueueDescriptor, DataTypes...>
26 static const std::string& GetName()
28 static const std::string name = std::string("NeonPermuteWorkload");
32 NeonPermuteWorkload(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info);
33 void Execute() const override;
36 using TypedWorkload<PermuteQueueDescriptor, DataTypes...>::m_Data;
37 mutable arm_compute::NEPermute m_PermuteFunction;
40 using NeonPermuteFloatWorkload = NeonPermuteWorkload<DataType::Float16, DataType::Float32>;
41 using NeonPermuteUint8Workload = NeonPermuteWorkload<DataType::QuantisedAsymm8>;