diff options
author | Nattapat Chaimanowong <nattapat.chaimanowong@arm.com> | 2018-10-12 14:14:44 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-10-22 16:57:53 +0100 |
commit | 1d32006e7a671140b61f882260529d770d18b4d2 (patch) | |
tree | eda979945e0eeb59263a6bc00f9cc739df3b42b0 /src | |
parent | 5d2e700a223dab7432a765c64d0bd483a8acdfae (diff) | |
download | armnn-1d32006e7a671140b61f882260529d770d18b4d2.tar.gz |
IVGCVSW-1951 Remove type templating from NeonPermuteWorkload
Change-Id: I4b3247fc7c5eb1c0cec5cf22c56d4c7a3f36d51a
Diffstat (limited to 'src')
-rw-r--r-- | src/backends/neon/NeonWorkloadFactory.cpp | 2 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonPermuteWorkload.cpp | 13 | ||||
-rw-r--r-- | src/backends/neon/workloads/NeonPermuteWorkload.hpp | 8 |
3 files changed, 7 insertions, 16 deletions
diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp index f133f2bdc3..4742ae9ebd 100644 --- a/src/backends/neon/NeonWorkloadFactory.cpp +++ b/src/backends/neon/NeonWorkloadFactory.cpp @@ -123,7 +123,7 @@ std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreateFullyConnected( std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreatePermute(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload<NeonPermuteFloatWorkload, NeonPermuteUint8Workload>(descriptor, info); + return std::make_unique<NeonPermuteWorkload>(descriptor, info); } std::unique_ptr<armnn::IWorkload> NeonWorkloadFactory::CreatePooling2d(const Pooling2dQueueDescriptor& descriptor, diff --git a/src/backends/neon/workloads/NeonPermuteWorkload.cpp b/src/backends/neon/workloads/NeonPermuteWorkload.cpp index 0bf4aa1319..cf4e7910ee 100644 --- a/src/backends/neon/workloads/NeonPermuteWorkload.cpp +++ b/src/backends/neon/workloads/NeonPermuteWorkload.cpp @@ -24,10 +24,9 @@ arm_compute::Status NeonPermuteWorkloadValidate(const TensorInfo& input, armcomputetensorutils::BuildArmComputePermutationVector(mappings)); } -template <armnn::DataType... DataTypes> -NeonPermuteWorkload<DataTypes...>::NeonPermuteWorkload(const PermuteQueueDescriptor& descriptor, - const WorkloadInfo& info) - : TypedWorkload<PermuteQueueDescriptor, DataTypes...>(descriptor, info) +NeonPermuteWorkload::NeonPermuteWorkload(const PermuteQueueDescriptor& descriptor, + const WorkloadInfo& info) + : BaseWorkload<PermuteQueueDescriptor>(descriptor, info) { using armcomputetensorutils::BuildArmComputePermutationVector; @@ -41,14 +40,10 @@ NeonPermuteWorkload<DataTypes...>::NeonPermuteWorkload(const PermuteQueueDescrip m_PermuteFunction.configure(&input, &output, BuildArmComputePermutationVector(mappings)); } -template <armnn::DataType... DataTypes> -void NeonPermuteWorkload<DataTypes...>::Execute() const +void NeonPermuteWorkload::Execute() const { ARMNN_SCOPED_PROFILING_EVENT_NEON(GetName() + "_Execute"); m_PermuteFunction.run(); } -template class NeonPermuteWorkload<DataType::Float16, DataType::Float32>; -template class NeonPermuteWorkload<DataType::QuantisedAsymm8>; - } // namespace armnn diff --git a/src/backends/neon/workloads/NeonPermuteWorkload.hpp b/src/backends/neon/workloads/NeonPermuteWorkload.hpp index a85816be38..299df80b76 100644 --- a/src/backends/neon/workloads/NeonPermuteWorkload.hpp +++ b/src/backends/neon/workloads/NeonPermuteWorkload.hpp @@ -19,8 +19,7 @@ namespace armnn arm_compute::Status NeonPermuteWorkloadValidate(const TensorInfo& input, const TensorInfo& output, const PermuteDescriptor& descriptor); -template <armnn::DataType... DataTypes> -class NeonPermuteWorkload : public TypedWorkload<PermuteQueueDescriptor, DataTypes...> +class NeonPermuteWorkload : public BaseWorkload<PermuteQueueDescriptor> { public: static const std::string& GetName() @@ -33,11 +32,8 @@ public: void Execute() const override; private: - using TypedWorkload<PermuteQueueDescriptor, DataTypes...>::m_Data; + using BaseWorkload<PermuteQueueDescriptor>::m_Data; mutable arm_compute::NEPermute m_PermuteFunction; }; -using NeonPermuteFloatWorkload = NeonPermuteWorkload<DataType::Float16, DataType::Float32>; -using NeonPermuteUint8Workload = NeonPermuteWorkload<DataType::QuantisedAsymm8>; - } // namespace armnn |