From 7b9998d0fe1f98768b690ead10ebfa166d1b873d Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Mon, 21 Oct 2019 17:59:07 +0100 Subject: COMPMID-1816: Use parallel reduction on 0 axis in CL ARG_MIN/ARG_MAX Introducing new CLArgMinMax kernel Change-Id: I0b8254207cc3859d19ceef9b6429cf5c1c586db0 Signed-off-by: Manuel Bottini Reviewed-on: https://review.mlplatform.org/c/2202 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Michalis Spyrou --- arm_compute/core/CL/CLHelpers.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'arm_compute/core/CL/CLHelpers.h') diff --git a/arm_compute/core/CL/CLHelpers.h b/arm_compute/core/CL/CLHelpers.h index cd65eafc9c..7e549be989 100644 --- a/arm_compute/core/CL/CLHelpers.h +++ b/arm_compute/core/CL/CLHelpers.h @@ -190,5 +190,16 @@ bool preferred_dummy_work_items_support(const cl::Device &device); * @return An opencl kernel */ cl::Kernel create_opencl_kernel(CLCoreRuntimeContext *ctx, const std::string &kernel_name, const CLBuildOptions &build_opts); + +/** Creates a suitable LWS hint object for parallel implementations. Sets the number of WG based on the input size. + * If input width is smaller than 128 we can use fewer threads than 8. + * + * @param[in] input_dimension number of elements along the dimension to apply the parallellization + * @param[in] vector_size size of the vector in OpenCL + * + * @return An LWS hint object + */ +cl::NDRange create_lws_hint_parallel_implementations(unsigned int input_dimension, unsigned int vector_size); + } // namespace arm_compute #endif /* __ARM_COMPUTE_CLHELPERS_H__ */ -- cgit v1.2.1