aboutsummaryrefslogtreecommitdiff
path: root/src/backends/cl
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2022-05-09 17:27:08 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2022-05-10 12:33:02 +0000
commit0302723e409df80bebd83883ce0aad07fece54c5 (patch)
tree12733a479008dd12fff2a7e616cccaf3c58c9101 /src/backends/cl
parent989e2f6c71b979f6aaf3c653808a7893fb0dd1c3 (diff)
downloadarmnn-0302723e409df80bebd83883ce0aad07fece54c5.tar.gz
IVGCVSW-6936 Sqrt for CpuRef, CpuAcc and GpuAcc
* Add Unit Tests * Bug Fix: add Sqrt to Neon and Cl workload factories Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: I0db1d813a4e7d15431e87e825e6d14e61f5ffb7d
Diffstat (limited to 'src/backends/cl')
-rw-r--r--src/backends/cl/ClWorkloadFactory.cpp2
-rw-r--r--src/backends/cl/test/ClLayerTests.cpp6
-rw-r--r--src/backends/cl/workloads/ClWorkloads.hpp1
3 files changed, 9 insertions, 0 deletions
diff --git a/src/backends/cl/ClWorkloadFactory.cpp b/src/backends/cl/ClWorkloadFactory.cpp
index d4a1cb081d..02dbcb3230 100644
--- a/src/backends/cl/ClWorkloadFactory.cpp
+++ b/src/backends/cl/ClWorkloadFactory.cpp
@@ -435,6 +435,8 @@ std::unique_ptr<IWorkload> ClWorkloadFactory::CreateWorkload(LayerType type,
}
case UnaryOperation::Sin:
return std::make_unique<ClSinWorkload>(*elementwiseUnaryQueueDescriptor, info, m_CLCompileContext);
+ case UnaryOperation::Sqrt:
+ return std::make_unique<ClSqrtWorkload>(*elementwiseUnaryQueueDescriptor, info, m_CLCompileContext);
default:
return nullptr;
}
diff --git a/src/backends/cl/test/ClLayerTests.cpp b/src/backends/cl/test/ClLayerTests.cpp
index de39f986e0..68635ac6fc 100644
--- a/src/backends/cl/test/ClLayerTests.cpp
+++ b/src/backends/cl/test/ClLayerTests.cpp
@@ -1790,6 +1790,12 @@ ARMNN_AUTO_TEST_FIXTURE_WITH_THF(Rsqrt3d, ClContextControlFixture, Rsqrt3dTest<D
ARMNN_AUTO_TEST_FIXTURE_WITH_THF(RsqrtZero, ClContextControlFixture, RsqrtZeroTest<DataType::Float32>)
ARMNN_AUTO_TEST_FIXTURE_WITH_THF(RsqrtNegative, ClContextControlFixture, RsqrtNegativeTest<DataType::Float32>)
+// Sqrt
+ARMNN_AUTO_TEST_FIXTURE_WITH_THF(Sqrt2d, ClContextControlFixture, Sqrt2dTest<DataType::Float32>)
+ARMNN_AUTO_TEST_FIXTURE_WITH_THF(Sqrt3d, ClContextControlFixture, Sqrt3dTest<DataType::Float32>)
+ARMNN_AUTO_TEST_FIXTURE_WITH_THF(SqrtZero, ClContextControlFixture, SqrtZeroTest<DataType::Float32>)
+ARMNN_AUTO_TEST_FIXTURE_WITH_THF(SqrtNegative, ClContextControlFixture, SqrtNegativeTest<DataType::Float32>)
+
// Quantize
ARMNN_AUTO_TEST_FIXTURE_WITH_THF(QuantizeSimpleUint8, ClContextControlFixture, QuantizeSimpleUint8Test)
ARMNN_AUTO_TEST_FIXTURE_WITH_THF(QuantizeClampUint8, ClContextControlFixture, QuantizeClampUint8Test)
diff --git a/src/backends/cl/workloads/ClWorkloads.hpp b/src/backends/cl/workloads/ClWorkloads.hpp
index 71f401ae0e..c3a79b7583 100644
--- a/src/backends/cl/workloads/ClWorkloads.hpp
+++ b/src/backends/cl/workloads/ClWorkloads.hpp
@@ -60,6 +60,7 @@
#include "ClSpaceToBatchNdWorkload.hpp"
#include "ClSpaceToDepthWorkload.hpp"
#include "ClSplitterWorkload.hpp"
+#include "ClSqrtWorkload.hpp"
#include "ClStackWorkload.hpp"
#include "ClStridedSliceWorkload.hpp"
#include "ClSubtractionWorkload.hpp"