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>();