From 4c0a38a33046416a8f8fd779a467502b98311bcd Mon Sep 17 00:00:00 2001 From: Pablo Marquez Tello Date: Mon, 10 Jul 2023 15:23:44 +0100 Subject: Disable kernel size 3 in argminmax for axis 0 * Only kernel sizes supported are 2, 4, 8 and 16. * Resolves COMPMID-6349 Change-Id: I30c85dcb3505d47fe56a2d2a08e9221ff426ee93 Signed-off-by: Pablo Marquez Tello Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9890 Reviewed-by: Viet-Hoa Do Reviewed-by: Jakub Sujak Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Benchmark: Arm Jenkins --- src/core/CL/kernels/CLArgMinMaxLayerKernel.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/core/CL/kernels/CLArgMinMaxLayerKernel.cpp') diff --git a/src/core/CL/kernels/CLArgMinMaxLayerKernel.cpp b/src/core/CL/kernels/CLArgMinMaxLayerKernel.cpp index 8438739764..3136d698c4 100644 --- a/src/core/CL/kernels/CLArgMinMaxLayerKernel.cpp +++ b/src/core/CL/kernels/CLArgMinMaxLayerKernel.cpp @@ -86,7 +86,9 @@ void CLArgMinMaxLayerKernel::configure(const CLCompileContext &compile_context, _op = op; // Set build options - const auto vector_size = adjust_vec_size(16U, input->info()->dimension(0)); + const auto adjusted_vector_size = adjust_vec_size(16U, input->info()->dimension(0)); + const auto vector_size = (adjusted_vector_size == 3U && axis == 0U) ? 2U : adjusted_vector_size; // the opencl kernel only supports sizes 2, 4, 8 and 16. + CLBuildOptions build_opts; build_opts.add_option("-DDATA_TYPE=" + get_cl_type_from_data_type(input->info()->data_type())); build_opts.add_option("-DVEC_SIZE_LEFTOVER=" + support::cpp11::to_string(input->info()->dimension(0) % vector_size)); -- cgit v1.2.1