From b3e72b6926d577215e3f8f6a3aef17919927f69a Mon Sep 17 00:00:00 2001 From: Gian Marco Iodice Date: Tue, 14 May 2019 17:11:53 +0100 Subject: COMPMID-2334: Extend search space for the EXHAUSTIVE OpenCL tuner Change-Id Ic71d875542f19d5a4f717f397e1e6ce9ce2536f Change-Id: I7f9cc86b149aa392acffed602b431451499704d7 Signed-off-by: Gian Marco Iodice Reviewed-on: https://review.mlplatform.org/c/1133 Tested-by: Arm Jenkins Reviewed-by: Michalis Spyrou Comments-Addressed: Arm Jenkins --- src/runtime/CL/CLTuner.cpp | 5 ++--- src/runtime/CL/tuners/CLLWSList.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/runtime/CL/CLTuner.cpp b/src/runtime/CL/CLTuner.cpp index f2de78dcec..2c3f9ce33e 100644 --- a/src/runtime/CL/CLTuner.cpp +++ b/src/runtime/CL/CLTuner.cpp @@ -185,9 +185,7 @@ cl::NDRange CLTuner::find_optimal_lws(ICLKernel &kernel) auto x = lws_test[0]; auto y = lws_test[1]; auto z = lws_test[2]; - bool invalid_lws = (x * y * z > kernel.get_max_workgroup_size()) || (x == 1 && y == 1 && z == 1); - - invalid_lws = invalid_lws || (x > gws[0]) || (y > gws[1]) || (z > gws[2]); + const bool invalid_lws = (x * y * z > kernel.get_max_workgroup_size()) || (x == 1 && y == 1 && z == 1); if(invalid_lws) { @@ -206,6 +204,7 @@ cl::NDRange CLTuner::find_optimal_lws(ICLKernel &kernel) const cl_ulong end = _kernel_event.getProfilingInfo(); const cl_ulong diff = end - start; _kernel_event = nullptr; + // Check the execution time if(diff < min_exec_time) { diff --git a/src/runtime/CL/tuners/CLLWSList.cpp b/src/runtime/CL/tuners/CLLWSList.cpp index 6eb251420c..30fd558ef3 100644 --- a/src/runtime/CL/tuners/CLLWSList.cpp +++ b/src/runtime/CL/tuners/CLLWSList.cpp @@ -41,8 +41,10 @@ cl::NDRange CLLWSListExhaustive::operator[](size_t index) CLLWSListExhaustive::CLLWSListExhaustive(const cl::NDRange &gws) { - search_space_shape = TensorShape(std::min(static_cast(gws[0]), max_lws_supported_x), std::min(static_cast(gws[1]), max_lws_supported_y), - std::min(static_cast(gws[2]), max_lws_supported_z)); + ARM_COMPUTE_UNUSED(gws); + search_space_shape = TensorShape(max_lws_supported_x, + max_lws_supported_y, + max_lws_supported_z); } cl::NDRange CLLWSListNormal::operator[](size_t index) -- cgit v1.2.1