IVGCVSW-1951-Remove type templating from ClAdditionWorkload
Change-Id: Ic16c4505bac9c9025856aa4eac1127ad957c9d75
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index c00d0ba..b4f4a72 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -162,8 +162,7 @@
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateAddition(const AdditionQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return MakeWorkload<ClAdditionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>,
- ClAdditionWorkload<armnn::DataType::QuantisedAsymm8>>(descriptor, info);
+ return std::make_unique<ClAdditionWorkload>(descriptor, info);
}
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateMultiplication(
diff --git a/src/backends/cl/workloads/ClAdditionWorkload.cpp b/src/backends/cl/workloads/ClAdditionWorkload.cpp
index ec0dd30..c9ac958 100644
--- a/src/backends/cl/workloads/ClAdditionWorkload.cpp
+++ b/src/backends/cl/workloads/ClAdditionWorkload.cpp
@@ -17,10 +17,9 @@
static constexpr arm_compute::ConvertPolicy g_AclConvertPolicy = arm_compute::ConvertPolicy::SATURATE;
-template <armnn::DataType... T>
-ClAdditionWorkload<T...>::ClAdditionWorkload(const AdditionQueueDescriptor& descriptor,
- const WorkloadInfo& info)
- : TypedWorkload<AdditionQueueDescriptor, T...>(descriptor, info)
+ClAdditionWorkload::ClAdditionWorkload(const AdditionQueueDescriptor& descriptor,
+ const WorkloadInfo& info)
+ : BaseWorkload<AdditionQueueDescriptor>(descriptor, info)
{
this->m_Data.ValidateInputsOutputs("ClAdditionWorkload", 2, 1);
@@ -30,8 +29,7 @@
m_Layer.configure(&input0, &input1, &output, g_AclConvertPolicy);
}
-template <armnn::DataType... T>
-void ClAdditionWorkload<T...>::Execute() const
+void ClAdditionWorkload::Execute() const
{
ARMNN_SCOPED_PROFILING_EVENT_CL("ClAdditionWorkload_Execute");
m_Layer.run();
@@ -54,6 +52,3 @@
}
} //namespace armnn
-
-template class armnn::ClAdditionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>;
-template class armnn::ClAdditionWorkload<armnn::DataType::QuantisedAsymm8>;
diff --git a/src/backends/cl/workloads/ClAdditionWorkload.hpp b/src/backends/cl/workloads/ClAdditionWorkload.hpp
index c5e6aff..d165bd9 100644
--- a/src/backends/cl/workloads/ClAdditionWorkload.hpp
+++ b/src/backends/cl/workloads/ClAdditionWorkload.hpp
@@ -12,8 +12,7 @@
namespace armnn
{
-template <armnn::DataType... dataTypes>
-class ClAdditionWorkload : public TypedWorkload<AdditionQueueDescriptor, dataTypes...>
+class ClAdditionWorkload : public BaseWorkload<AdditionQueueDescriptor>
{
public:
ClAdditionWorkload(const AdditionQueueDescriptor& descriptor, const WorkloadInfo& info);
diff --git a/src/backends/test/CreateWorkloadCl.cpp b/src/backends/test/CreateWorkloadCl.cpp
index 411f72b..d56bad2 100644
--- a/src/backends/test/CreateWorkloadCl.cpp
+++ b/src/backends/test/CreateWorkloadCl.cpp
@@ -69,7 +69,7 @@
BOOST_AUTO_TEST_CASE(CreateAdditionFloatWorkload)
{
- ClCreateArithmethicWorkloadTest<ClAdditionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>,
+ ClCreateArithmethicWorkloadTest<ClAdditionWorkload,
AdditionQueueDescriptor,
AdditionLayer,
armnn::DataType::Float32>();
@@ -77,7 +77,7 @@
BOOST_AUTO_TEST_CASE(CreateAdditionFloat16Workload)
{
- ClCreateArithmethicWorkloadTest<ClAdditionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>,
+ ClCreateArithmethicWorkloadTest<ClAdditionWorkload,
AdditionQueueDescriptor,
AdditionLayer,
armnn::DataType::Float16>();