diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2021-04-21 12:56:45 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2021-04-21 16:26:15 +0000 |
commit | e11e63d749b0909f13f9a39c8d34ef5523255170 (patch) | |
tree | 7a44acf59176dabd663dd36b815875b390918b68 /src/backends/cl | |
parent | fe95d7203ba7a6ac31e0656190ba56de6fcf4735 (diff) | |
download | armnn-e11e63d749b0909f13f9a39c8d34ef5523255170.tar.gz |
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
Diffstat (limited to 'src/backends/cl')
-rw-r--r-- | src/backends/cl/ClBackend.cpp | 2 | ||||
-rw-r--r-- | src/backends/cl/ClLayerSupport.cpp | 2 | ||||
-rw-r--r-- | src/backends/cl/ClWorkloadFactory.cpp | 2 | ||||
-rw-r--r-- | src/backends/cl/backend.mk | 2 | ||||
-rw-r--r-- | src/backends/cl/test/ClCreateWorkloadTests.cpp | 4 | ||||
-rw-r--r-- | src/backends/cl/workloads/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClDivisionWorkload.cpp (renamed from src/backends/cl/workloads/ClDivisionFloatWorkload.cpp) | 16 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClDivisionWorkload.hpp (renamed from src/backends/cl/workloads/ClDivisionFloatWorkload.hpp) | 10 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClMultiplicationWorkload.hpp | 3 | ||||
-rw-r--r-- | src/backends/cl/workloads/ClWorkloads.hpp | 2 |
10 files changed, 22 insertions, 25 deletions
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp index 33aff2731d..f97cb4bba8 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 0ab79309a0..cdbbf0cf56 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 ee6bcd3bc3..8ff82f29ba 100644 --- a/src/backends/cl/ClWorkloadFactory.cpp +++ b/src/backends/cl/ClWorkloadFactory.cpp @@ -325,7 +325,7 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateDetectionPostProcess( 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 9a83257272..c097a03327 100644 --- a/src/backends/cl/backend.mk +++ b/src/backends/cl/backend.mk @@ -40,7 +40,7 @@ BACKEND_SOURCES := \ 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 765409a426..e22479c25b 100644 --- a/src/backends/cl/test/ClCreateWorkloadTests.cpp +++ b/src/backends/cl/test/ClCreateWorkloadTests.cpp @@ -137,7 +137,7 @@ BOOST_AUTO_TEST_CASE(CreateMultiplicationUint8WorkloadTest) BOOST_AUTO_TEST_CASE(CreateDivisionFloatWorkloadTest) { - ClCreateElementwiseWorkloadTest<ClDivisionFloatWorkload, + ClCreateElementwiseWorkloadTest<ClDivisionWorkload, DivisionQueueDescriptor, DivisionLayer, armnn::DataType::Float32>(); @@ -145,7 +145,7 @@ BOOST_AUTO_TEST_CASE(CreateDivisionFloatWorkloadTest) 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 3a1b6b8432..04821bf4bb 100644 --- a/src/backends/cl/workloads/CMakeLists.txt +++ b/src/backends/cl/workloads/CMakeLists.txt @@ -34,8 +34,8 @@ list(APPEND armnnClBackendWorkloads_sources 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 index 3df8d52f6d..be5f3b8225 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 @@ arm_compute::Status ClDivisionWorkloadValidate(const TensorInfo& input0, } -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 @@ ClDivisionFloatWorkload::ClDivisionFloatWorkload(const DivisionQueueDescriptor& 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 index 481b8b0a89..d0c27bb310 100644 --- a/src/backends/cl/workloads/ClDivisionFloatWorkload.hpp +++ b/src/backends/cl/workloads/ClDivisionWorkload.hpp @@ -17,14 +17,14 @@ arm_compute::Status ClDivisionWorkloadValidate(const TensorInfo& input0, 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 424f3d7045..7bc0db7ce9 100644 --- a/src/backends/cl/workloads/ClMultiplicationWorkload.hpp +++ b/src/backends/cl/workloads/ClMultiplicationWorkload.hpp @@ -32,6 +32,3 @@ private: }; } //namespace armnn - - - diff --git a/src/backends/cl/workloads/ClWorkloads.hpp b/src/backends/cl/workloads/ClWorkloads.hpp index f99a9fa11b..0ae7f4ec22 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" |