aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2018-10-10 15:47:15 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-22 16:57:53 +0100
commit157d94fc3bdab6a0c9d26054f1f85350810783cd (patch)
tree085bf82431fd099a859046ddefb73130b4db3391
parent4e00a3d62ad7b82a6e98bdd9e4fd8734bd692a14 (diff)
downloadarmnn-157d94fc3bdab6a0c9d26054f1f85350810783cd.tar.gz
IVGCVSW-1951 Remove type templating from ClPermuteWorkload
Change-Id: Ibd12e04abe71015f31ee36a7f0a2416cb625cdad
-rw-r--r--src/backends/cl/ClWorkloadFactory.cpp2
-rw-r--r--src/backends/cl/workloads/ClPermuteWorkload.cpp13
-rw-r--r--src/backends/cl/workloads/ClPermuteWorkload.hpp8
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