diff options
Diffstat (limited to 'src/core/CL')
-rw-r--r-- | src/core/CL/cl_kernels/elementwise_unary.cl | 53 | ||||
-rw-r--r-- | src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp | 5 |
2 files changed, 11 insertions, 47 deletions
diff --git a/src/core/CL/cl_kernels/elementwise_unary.cl b/src/core/CL/cl_kernels/elementwise_unary.cl index 92db569d97..2650654e4a 100644 --- a/src/core/CL/cl_kernels/elementwise_unary.cl +++ b/src/core/CL/cl_kernels/elementwise_unary.cl @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -26,51 +26,12 @@ #if defined(DATA_TYPE) && defined(OPERATION) -#if defined(VEC_SIZE) && defined(LAST_ACCESSED_X) -/** Calculate reverse square root - * - * @param[in] input Pointer to the first element. - * - * @return reverse square root - */ -inline VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE) inverse_sqrt(const VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE) input) -{ - return rsqrt(input); -} - -/** Calculate exponential - * - * @param[in] input Pointer to the first element. - * - * @return exponential - */ -inline VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE) exponential(const VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE) input) -{ - return exp(input); -} -#else // !defined(VEC_SIZE) || !defined(LAST_ACCESSED_X) -/** Calculate reverse square root - * - * @param[in] input Single element. - * - * @return reverse square root - */ -inline DATA_TYPE inverse_sqrt(const DATA_TYPE input) -{ - return rsqrt(input); -} - -/** Calculate exponential - * - * @param[in] input Single element. - * - * @return exponential - */ -inline DATA_TYPE exponential(const DATA_TYPE input) -{ - return exp(input); -} -#endif // defined(VEC_SIZE) && defined(LAST_ACCESSED_X) +// Calculate Exponential +#define exponential(input) exp(input) +// Calculate reverse square root +#define inverse_sqrt(input) rsqrt(input) +// Calculate negative +#define neg(input) (-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 be3c7e25da..e804ef1853 100644 --- a/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp +++ b/src/core/CL/kernels/CLElementWiseUnaryLayerKernel.cpp @@ -84,6 +84,9 @@ void CLElementWiseUnaryLayerKernel::configure(const ICLTensor *input, ICLTensor case ElementWiseUnary::EXP: build_opts.add_option("-DOPERATION=exponential"); break; + case ElementWiseUnary::NEG: + build_opts.add_option("-DOPERATION=neg"); + break; default: ARM_COMPUTE_ERROR("Not implemented"); } @@ -116,4 +119,4 @@ void CLElementWiseUnaryLayerKernel::run(const Window &window, cl::CommandQueue & enqueue(queue, *this, collapsed); } while(window.slide_window_slice_1D(collapsed)); -}
\ No newline at end of file +} |