aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2018-10-12 14:14:44 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-22 16:57:53 +0100
commit1d32006e7a671140b61f882260529d770d18b4d2 (patch)
treeeda979945e0eeb59263a6bc00f9cc739df3b42b0
parent5d2e700a223dab7432a765c64d0bd483a8acdfae (diff)
downloadarmnn-1d32006e7a671140b61f882260529d770d18b4d2.tar.gz
IVGCVSW-1951 Remove type templating from NeonPermuteWorkload
Change-Id: I4b3247fc7c5eb1c0cec5cf22c56d4c7a3f36d51a
-rw-r--r--src/backends/neon/NeonWorkloadFactory.cpp2
-rw-r--r--src/backends/neon/workloads/NeonPermuteWorkload.cpp13
-rw-r--r--src/backends/neon/workloads/NeonPermuteWorkload.hpp8
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