IVGCVSW-5909 Fix CTS failure in GpuAcc DIV int32
* CLWorkload was only supporting float
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: Ic57a490f03a055c158edc19e831b153a44e25166
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp
index 33aff27..f97cb4b 100644
--- a/src/backends/cl/ClBackend.cpp
+++ b/src/backends/cl/ClBackend.cpp
@@ -26,7 +26,7 @@
#include "workloads/ClBatchNormalizationFloatWorkload.hpp"
#include "workloads/ClConvolution2dWorkload.hpp"
#include "workloads/ClDepthwiseConvolutionWorkload.hpp"
-#include "workloads/ClDivisionFloatWorkload.hpp"
+#include "workloads/ClDivisionWorkload.hpp"
#include "workloads/ClFullyConnectedWorkload.hpp"
#include "workloads/ClMultiplicationWorkload.hpp"
#include "workloads/ClSubtractionWorkload.hpp"
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp
index 0ab7930..cdbbf0c 100644
--- a/src/backends/cl/ClLayerSupport.cpp
+++ b/src/backends/cl/ClLayerSupport.cpp
@@ -33,7 +33,7 @@
#include "workloads/ClDepthToSpaceWorkload.hpp"
#include "workloads/ClDepthwiseConvolutionWorkload.hpp"
#include "workloads/ClDequantizeWorkload.hpp"
-#include "workloads/ClDivisionFloatWorkload.hpp"
+#include "workloads/ClDivisionWorkload.hpp"
#include "workloads/ClExpWorkload.hpp"
#include "workloads/ClFillWorkload.hpp"
#include "workloads/ClFloorFloatWorkload.hpp"
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index ee6bcd3..8ff82f2 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -325,7 +325,7 @@
std::unique_ptr<IWorkload> ClWorkloadFactory::CreateDivision(const DivisionQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return MakeWorkload<ClDivisionFloatWorkload, NullWorkload>(descriptor, info, m_CLCompileContext);
+ return std::make_unique<ClDivisionWorkload>(descriptor, info, m_CLCompileContext);
}
std::unique_ptr<IWorkload> ClWorkloadFactory::CreateElementwiseUnary(const ElementwiseUnaryQueueDescriptor& descriptor,
diff --git a/src/backends/cl/backend.mk b/src/backends/cl/backend.mk
index 9a83257..c097a03 100644
--- a/src/backends/cl/backend.mk
+++ b/src/backends/cl/backend.mk
@@ -40,7 +40,7 @@
workloads/ClDepthToSpaceWorkload.cpp \
workloads/ClDepthwiseConvolutionWorkload.cpp \
workloads/ClDequantizeWorkload.cpp \
- workloads/ClDivisionFloatWorkload.cpp \
+ workloads/ClDivisionWorkload.cpp \
workloads/ClExpWorkload.cpp \
workloads/ClFillWorkload.cpp \
workloads/ClFloorFloatWorkload.cpp \
diff --git a/src/backends/cl/test/ClCreateWorkloadTests.cpp b/src/backends/cl/test/ClCreateWorkloadTests.cpp
index 765409a..e22479c 100644
--- a/src/backends/cl/test/ClCreateWorkloadTests.cpp
+++ b/src/backends/cl/test/ClCreateWorkloadTests.cpp
@@ -137,7 +137,7 @@
BOOST_AUTO_TEST_CASE(CreateDivisionFloatWorkloadTest)
{
- ClCreateElementwiseWorkloadTest<ClDivisionFloatWorkload,
+ ClCreateElementwiseWorkloadTest<ClDivisionWorkload,
DivisionQueueDescriptor,
DivisionLayer,
armnn::DataType::Float32>();
@@ -145,7 +145,7 @@
BOOST_AUTO_TEST_CASE(CreateDivisionFloat16WorkloadTest)
{
- ClCreateElementwiseWorkloadTest<ClDivisionFloatWorkload,
+ ClCreateElementwiseWorkloadTest<ClDivisionWorkload,
DivisionQueueDescriptor,
DivisionLayer,
armnn::DataType::Float16>();
diff --git a/src/backends/cl/workloads/CMakeLists.txt b/src/backends/cl/workloads/CMakeLists.txt
index 3a1b6b8..04821bf 100644
--- a/src/backends/cl/workloads/CMakeLists.txt
+++ b/src/backends/cl/workloads/CMakeLists.txt
@@ -34,8 +34,8 @@
ClDepthwiseConvolutionWorkload.hpp
ClDequantizeWorkload.cpp
ClDequantizeWorkload.hpp
- ClDivisionFloatWorkload.cpp
- ClDivisionFloatWorkload.hpp
+ ClDivisionWorkload.cpp
+ ClDivisionWorkload.hpp
ClExpWorkload.cpp
ClExpWorkload.hpp
ClFillWorkload.cpp
diff --git a/src/backends/cl/workloads/ClDivisionFloatWorkload.cpp b/src/backends/cl/workloads/ClDivisionWorkload.cpp
similarity index 76%
rename from src/backends/cl/workloads/ClDivisionFloatWorkload.cpp
rename to src/backends/cl/workloads/ClDivisionWorkload.cpp
index 3df8d52..be5f3b8 100644
--- a/src/backends/cl/workloads/ClDivisionFloatWorkload.cpp
+++ b/src/backends/cl/workloads/ClDivisionWorkload.cpp
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: MIT
//
-#include "ClDivisionFloatWorkload.hpp"
+#include "ClDivisionWorkload.hpp"
#include <aclCommon/ArmComputeUtils.hpp>
#include <backendsCommon/CpuTensorHandle.hpp>
@@ -31,12 +31,12 @@
}
-ClDivisionFloatWorkload::ClDivisionFloatWorkload(const DivisionQueueDescriptor& descriptor,
- const WorkloadInfo& info,
- const arm_compute::CLCompileContext& clCompileContext)
- : FloatWorkload<DivisionQueueDescriptor>(descriptor, info)
+ClDivisionWorkload::ClDivisionWorkload(const DivisionQueueDescriptor& descriptor,
+ const WorkloadInfo& info,
+ const arm_compute::CLCompileContext& clCompileContext)
+ : BaseWorkload<DivisionQueueDescriptor>(descriptor, info)
{
- m_Data.ValidateInputsOutputs("ClDivisionFloatWorkload", 2, 1);
+ m_Data.ValidateInputsOutputs("ClDivisionWorkload", 2, 1);
arm_compute::ICLTensor& input0 = static_cast<IClTensorHandle*>(m_Data.m_Inputs[0])->GetTensor();
arm_compute::ICLTensor& input1 = static_cast<IClTensorHandle*>(m_Data.m_Inputs[1])->GetTensor();
@@ -47,9 +47,9 @@
m_ArithmeticDivision.configure(clCompileContext, &input0, &input1, &output, activationInfo);
}
-void ClDivisionFloatWorkload::Execute() const
+void ClDivisionWorkload::Execute() const
{
- ARMNN_SCOPED_PROFILING_EVENT_CL("ClDivisionFloatWorkload_Execute");
+ ARMNN_SCOPED_PROFILING_EVENT_CL("ClDivisionWorkload_Execute");
RunClFunction(m_ArithmeticDivision, CHECK_LOCATION());
}
diff --git a/src/backends/cl/workloads/ClDivisionFloatWorkload.hpp b/src/backends/cl/workloads/ClDivisionWorkload.hpp
similarity index 66%
rename from src/backends/cl/workloads/ClDivisionFloatWorkload.hpp
rename to src/backends/cl/workloads/ClDivisionWorkload.hpp
index 481b8b0..d0c27bb 100644
--- a/src/backends/cl/workloads/ClDivisionFloatWorkload.hpp
+++ b/src/backends/cl/workloads/ClDivisionWorkload.hpp
@@ -17,14 +17,14 @@
const TensorInfo& output,
const ActivationDescriptor* activationDescriptor = nullptr);
-class ClDivisionFloatWorkload : public FloatWorkload<DivisionQueueDescriptor>
+class ClDivisionWorkload : public BaseWorkload<DivisionQueueDescriptor>
{
public:
- ClDivisionFloatWorkload(const DivisionQueueDescriptor& descriptor,
- const WorkloadInfo& info,
- const arm_compute::CLCompileContext& clCompileContext);
+ ClDivisionWorkload(const DivisionQueueDescriptor& descriptor,
+ const WorkloadInfo& info,
+ const arm_compute::CLCompileContext& clCompileContext);
- using FloatWorkload<DivisionQueueDescriptor>::FloatWorkload;
+ using BaseWorkload<DivisionQueueDescriptor>::BaseWorkload;
void Execute() const override;
private:
diff --git a/src/backends/cl/workloads/ClMultiplicationWorkload.hpp b/src/backends/cl/workloads/ClMultiplicationWorkload.hpp
index 424f3d7..7bc0db7 100644
--- a/src/backends/cl/workloads/ClMultiplicationWorkload.hpp
+++ b/src/backends/cl/workloads/ClMultiplicationWorkload.hpp
@@ -32,6 +32,3 @@
};
} //namespace armnn
-
-
-
diff --git a/src/backends/cl/workloads/ClWorkloads.hpp b/src/backends/cl/workloads/ClWorkloads.hpp
index f99a9fa..0ae7f4e 100644
--- a/src/backends/cl/workloads/ClWorkloads.hpp
+++ b/src/backends/cl/workloads/ClWorkloads.hpp
@@ -16,7 +16,7 @@
#include "ClDepthToSpaceWorkload.hpp"
#include "ClDepthwiseConvolutionWorkload.hpp"
#include "ClDequantizeWorkload.hpp"
-#include "ClDivisionFloatWorkload.hpp"
+#include "ClDivisionWorkload.hpp"
#include "ClExpWorkload.hpp"
#include "ClFillWorkload.hpp"
#include "ClFloorFloatWorkload.hpp"