IVGCVSW-1951 Remove type templating from ClSubtractionWorkload
Change-Id: Ieda5146d23227e9764f3f867003a13c630494093
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index 685696c..0b7e539 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -182,8 +182,7 @@
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateSubtraction(const SubtractionQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return MakeWorkload<ClSubtractionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>,
- ClSubtractionWorkload<armnn::DataType::QuantisedAsymm8>>(descriptor, info);
+ return std::make_unique<ClSubtractionWorkload>(descriptor, info);
}
std::unique_ptr<armnn::IWorkload> ClWorkloadFactory::CreateBatchNormalization(
diff --git a/src/backends/cl/workloads/ClSubtractionWorkload.cpp b/src/backends/cl/workloads/ClSubtractionWorkload.cpp
index 37b334d..8efed94 100644
--- a/src/backends/cl/workloads/ClSubtractionWorkload.cpp
+++ b/src/backends/cl/workloads/ClSubtractionWorkload.cpp
@@ -17,10 +17,9 @@
static constexpr arm_compute::ConvertPolicy g_AclConvertPolicy = arm_compute::ConvertPolicy::SATURATE;
-template <armnn::DataType... T>
-ClSubtractionWorkload<T...>::ClSubtractionWorkload(const SubtractionQueueDescriptor& descriptor,
- const WorkloadInfo& info)
- : TypedWorkload<SubtractionQueueDescriptor, T...>(descriptor, info)
+ClSubtractionWorkload::ClSubtractionWorkload(const SubtractionQueueDescriptor& descriptor,
+ const WorkloadInfo& info)
+ : BaseWorkload<SubtractionQueueDescriptor>(descriptor, info)
{
this->m_Data.ValidateInputsOutputs("ClSubtractionWorkload", 2, 1);
@@ -30,8 +29,7 @@
m_Layer.configure(&input0, &input1, &output, g_AclConvertPolicy);
}
-template <armnn::DataType... T>
-void ClSubtractionWorkload<T...>::Execute() const
+void ClSubtractionWorkload::Execute() const
{
ARMNN_SCOPED_PROFILING_EVENT_CL("ClSubtractionWorkload_Execute");
m_Layer.run();
@@ -61,6 +59,3 @@
}
} //namespace armnn
-
-template class armnn::ClSubtractionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>;
-template class armnn::ClSubtractionWorkload<armnn::DataType::QuantisedAsymm8>;
diff --git a/src/backends/cl/workloads/ClSubtractionWorkload.hpp b/src/backends/cl/workloads/ClSubtractionWorkload.hpp
index 67b219b..7dd608b 100644
--- a/src/backends/cl/workloads/ClSubtractionWorkload.hpp
+++ b/src/backends/cl/workloads/ClSubtractionWorkload.hpp
@@ -12,8 +12,7 @@
namespace armnn
{
-template <armnn::DataType... dataTypes>
-class ClSubtractionWorkload : public TypedWorkload<SubtractionQueueDescriptor, dataTypes...>
+class ClSubtractionWorkload : public BaseWorkload<SubtractionQueueDescriptor>
{
public:
ClSubtractionWorkload(const SubtractionQueueDescriptor& descriptor, const WorkloadInfo& info);
diff --git a/src/backends/test/CreateWorkloadCl.cpp b/src/backends/test/CreateWorkloadCl.cpp
index e48cd97..9b68546 100644
--- a/src/backends/test/CreateWorkloadCl.cpp
+++ b/src/backends/test/CreateWorkloadCl.cpp
@@ -85,7 +85,7 @@
BOOST_AUTO_TEST_CASE(CreateSubtractionFloatWorkload)
{
- ClCreateArithmethicWorkloadTest<ClSubtractionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>,
+ ClCreateArithmethicWorkloadTest<ClSubtractionWorkload,
SubtractionQueueDescriptor,
SubtractionLayer,
armnn::DataType::Float32>();
@@ -93,7 +93,7 @@
BOOST_AUTO_TEST_CASE(CreateSubtractionFloat16Workload)
{
- ClCreateArithmethicWorkloadTest<ClSubtractionWorkload<armnn::DataType::Float16, armnn::DataType::Float32>,
+ ClCreateArithmethicWorkloadTest<ClSubtractionWorkload,
SubtractionQueueDescriptor,
SubtractionLayer,
armnn::DataType::Float16>();