From f24411ffc842970609a1fb6ba2f9527cfb681dbd Mon Sep 17 00:00:00 2001 From: giuros01 Date: Thu, 16 May 2019 11:47:13 +0100 Subject: COMPMID-2255: Implement ABS operator for CL Change-Id: I8867953f8ae84a77f126aedd32b2f98c062905b1 Signed-off-by: giuros01 Reviewed-on: https://review.mlplatform.org/c/1151 Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins Reviewed-by: Georgios Pinitas --- src/core/CL/cl_kernels/elementwise_unary.cl | 12 +++++++----- src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp | 11 +++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'src/core/CL') diff --git a/src/core/CL/cl_kernels/elementwise_unary.cl b/src/core/CL/cl_kernels/elementwise_unary.cl index 14d6f5dbe1..89bffed16d 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 b6484ec737..15823b06ce 100644 --- a/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp +++ b/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp @@ -79,16 +79,19 @@ void CLElementWiseUnaryLayerKernel::configure(const ICLTensor *input, ICLTensor 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"); -- cgit v1.2.1