From 1d32006e7a671140b61f882260529d770d18b4d2 Mon Sep 17 00:00:00 2001 From: Nattapat Chaimanowong Date: Fri, 12 Oct 2018 14:14:44 +0100 Subject: IVGCVSW-1951 Remove type templating from NeonPermuteWorkload Change-Id: I4b3247fc7c5eb1c0cec5cf22c56d4c7a3f36d51a --- src/backends/neon/NeonWorkloadFactory.cpp | 2 +- src/backends/neon/workloads/NeonPermuteWorkload.cpp | 13 ++++--------- 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 NeonWorkloadFactory::CreateFullyConnected( std::unique_ptr NeonWorkloadFactory::CreatePermute(const PermuteQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkload(descriptor, info); + return std::make_unique(descriptor, info); } std::unique_ptr 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 -NeonPermuteWorkload::NeonPermuteWorkload(const PermuteQueueDescriptor& descriptor, - const WorkloadInfo& info) - : TypedWorkload(descriptor, info) +NeonPermuteWorkload::NeonPermuteWorkload(const PermuteQueueDescriptor& descriptor, + const WorkloadInfo& info) + : BaseWorkload(descriptor, info) { using armcomputetensorutils::BuildArmComputePermutationVector; @@ -41,14 +40,10 @@ NeonPermuteWorkload::NeonPermuteWorkload(const PermuteQueueDescrip m_PermuteFunction.configure(&input, &output, BuildArmComputePermutationVector(mappings)); } -template -void NeonPermuteWorkload::Execute() const +void NeonPermuteWorkload::Execute() const { ARMNN_SCOPED_PROFILING_EVENT_NEON(GetName() + "_Execute"); m_PermuteFunction.run(); } -template class NeonPermuteWorkload; -template class NeonPermuteWorkload; - } // 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 -class NeonPermuteWorkload : public TypedWorkload +class NeonPermuteWorkload : public BaseWorkload { public: static const std::string& GetName() @@ -33,11 +32,8 @@ public: void Execute() const override; private: - using TypedWorkload::m_Data; + using BaseWorkload::m_Data; mutable arm_compute::NEPermute m_PermuteFunction; }; -using NeonPermuteFloatWorkload = NeonPermuteWorkload; -using NeonPermuteUint8Workload = NeonPermuteWorkload; - } // namespace armnn -- cgit v1.2.1