diff options
Diffstat (limited to 'src/runtime/CL/CLScheduler.cpp')
-rw-r--r-- | src/runtime/CL/CLScheduler.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/runtime/CL/CLScheduler.cpp b/src/runtime/CL/CLScheduler.cpp index f413f626eb..71a749fe52 100644 --- a/src/runtime/CL/CLScheduler.cpp +++ b/src/runtime/CL/CLScheduler.cpp @@ -24,11 +24,12 @@ #include "arm_compute/runtime/CL/CLScheduler.h" #include "arm_compute/core/CL/ICLKernel.h" +#include "arm_compute/runtime/CL/CLTuner.h" using namespace arm_compute; CLScheduler::CLScheduler() - : _context(), _queue(), _target(GPUTarget::MIDGARD), _is_initialised(false) + : _context(), _queue(), _target(GPUTarget::MIDGARD), _is_initialised(false), _cl_tuner() { } @@ -44,10 +45,18 @@ void CLScheduler::enqueue(ICLKernel &kernel, bool flush) "The CLScheduler is not initialised yet! Please call the CLScheduler::get().default_init(), \ or CLScheduler::get()::init() and CLKernelLibrary::get()::init() function before running functions!"); + // Tune the kernel if the CLTuner has been provided + if(_cl_tuner != nullptr) + { + // Tune the OpenCL kernel + _cl_tuner->tune_kernel(kernel); + } + + // Run kernel kernel.run(kernel.window(), _queue); if(flush) { _queue.flush(); } -} +}
\ No newline at end of file |