From de691f055ac255c798a766483eef63465ac90c75 Mon Sep 17 00:00:00 2001 From: Gian Marco Date: Fri, 8 Sep 2017 16:13:11 +0100 Subject: COMPMID-524 - Implemented CLTuner object Change-Id: Idbdbecca1fc299ed042936119d90e2bed8db0938 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/87101 Reviewed-by: Anthony Barbier Tested-by: Kaizen --- src/runtime/CL/CLScheduler.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/runtime/CL/CLScheduler.cpp') 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 -- cgit v1.2.1