COMPMID-2255: Implement ABS operator for CL
Change-Id: I8867953f8ae84a77f126aedd32b2f98c062905b1
Signed-off-by: giuros01 <giuseppe.rossini@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1151
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
diff --git a/src/core/CL/cl_kernels/elementwise_unary.cl b/src/core/CL/cl_kernels/elementwise_unary.cl
index 14d6f5d..89bffed 100644
--- a/src/core/CL/cl_kernels/elementwise_unary.cl
+++ b/src/core/CL/cl_kernels/elementwise_unary.cl
@@ -26,14 +26,16 @@
#if defined(DATA_TYPE) && defined(OPERATION)
-// Calculate Exponential
-#define exponential(input) exp(input)
+// Calculate exponential
+#define exp_op(input) exp(input)
// Calculate reverse square root
-#define inverse_sqrt(input) rsqrt(input)
+#define rsqrt_op(input) rsqrt(input)
// Calculate negative
-#define neg(input) (-input)
+#define neg_op(input) (-input)
// Calculate sine
-#define sine(input) sin(input)
+#define sin_op(input) sin(input)
+// Calculate abs for floating point values
+#define fabs_op(input) fabs(input)
/** Applies element wise unary operator in a tensor.
*
diff --git a/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp b/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp
index b6484ec..15823b0 100644
--- a/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp
+++ b/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp
@@ -79,16 +79,19 @@
switch(op)
{
case ElementWiseUnary::RSQRT:
- build_opts.add_option("-DOPERATION=inverse_sqrt");
+ build_opts.add_option("-DOPERATION=rsqrt_op");
break;
case ElementWiseUnary::EXP:
- build_opts.add_option("-DOPERATION=exponential");
+ build_opts.add_option("-DOPERATION=exp_op");
break;
case ElementWiseUnary::NEG:
- build_opts.add_option("-DOPERATION=neg");
+ build_opts.add_option("-DOPERATION=neg_op");
break;
case ElementWiseUnary::SIN:
- build_opts.add_option("-DOPERATION=sine");
+ build_opts.add_option("-DOPERATION=sin_op");
+ break;
+ case ElementWiseUnary::ABS:
+ build_opts.add_option("-DOPERATION=fabs_op");
break;
default:
ARM_COMPUTE_ERROR("Not implemented");