diff options
Diffstat (limited to 'src/backends/cl')
-rw-r--r-- | src/backends/cl/ClWorkloadFactory.cpp | 2 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClPermuteWorkload.cpp | 13 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClPermuteWorkload.hpp | 8 |
3 files changed, 7 insertions, 16 deletions
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp index b5b863ba16..6315b5ab49 100644 --- a/src/backends/cl/ClWorkloadFactory.cpp +++ b/src/backends/cl/ClWorkloadFactory.cpp @@ -132,7 +132,7 @@ std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateFullyConnected( std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreatePermute(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload<ClPermuteFloatWorkload, ClPermuteUint8Workload>(descriptor, info); + return std::make_unique<ClPermuteWorkload>(descriptor, info); } std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreatePooling2d(const Pooling2dQueueDescriptor& descriptor, diff --git a/src/backends/cl/workloads/ClPermuteWorkload.cpp b/src/backends/cl/workloads/ClPermuteWorkload.cpp index 079772dbaf..5dacc83749 100644 --- a/src/backends/cl/workloads/ClPermuteWorkload.cpp +++ b/src/backends/cl/workloads/ClPermuteWorkload.cpp @@ -26,10 +26,9 @@ arm_compute::Status ClPermuteWorkloadValidate(const PermuteDescriptor& descripto return arm_compute::Status{}; } -template <armnn::DataType... DataTypes> -ClPermuteWorkload<DataTypes...>::ClPermuteWorkload(const PermuteQueueDescriptor& descriptor, - const WorkloadInfo& info) - : TypedWorkload<PermuteQueueDescriptor, DataTypes...>(descriptor, info) +ClPermuteWorkload::ClPermuteWorkload(const PermuteQueueDescriptor& descriptor, + const WorkloadInfo& info) + : BaseWorkload<PermuteQueueDescriptor>(descriptor, info) { using armcomputetensorutils::BuildArmComputePermutationVector; @@ -43,14 +42,10 @@ ClPermuteWorkload<DataTypes...>::ClPermuteWorkload(const PermuteQueueDescriptor& m_PermuteFunction.configure(&input, &output, BuildArmComputePermutationVector(mappings)); } -template <armnn::DataType... DataTypes> -void ClPermuteWorkload<DataTypes...>::Execute() const +void ClPermuteWorkload::Execute() const { ARMNN_SCOPED_PROFILING_EVENT_CL( GetName() + "_Execute"); m_PermuteFunction.run(); } -template class ClPermuteWorkload<DataType::Float16, DataType::Float32>; -template class ClPermuteWorkload<DataType::QuantisedAsymm8>; - } // namespace armnn diff --git a/src/backends/cl/workloads/ClPermuteWorkload.hpp b/src/backends/cl/workloads/ClPermuteWorkload.hpp index 8ff5707ad6..43de302546 100644 --- a/src/backends/cl/workloads/ClPermuteWorkload.hpp +++ b/src/backends/cl/workloads/ClPermuteWorkload.hpp @@ -18,8 +18,7 @@ namespace armnn arm_compute::Status ClPermuteWorkloadValidate(const PermuteDescriptor& descriptor); -template<armnn::DataType... DataTypes> -class ClPermuteWorkload : public TypedWorkload<PermuteQueueDescriptor, DataTypes...> +class ClPermuteWorkload : public BaseWorkload<PermuteQueueDescriptor> { public: static const std::string& GetName() @@ -32,11 +31,8 @@ public: void Execute() const override; private: - using TypedWorkload<PermuteQueueDescriptor, DataTypes...>::m_Data; + using BaseWorkload<PermuteQueueDescriptor>::m_Data; mutable arm_compute::CLPermute m_PermuteFunction; }; -using ClPermuteFloatWorkload = ClPermuteWorkload<DataType::Float16, DataType::Float32>; -using ClPermuteUint8Workload = ClPermuteWorkload<DataType::QuantisedAsymm8>; - } // namespace armnn |