32 : _gpu_owned_scheduler(
std::make_unique<
CLScheduler>()), _gpu_scheduler(_gpu_owned_scheduler.get()), _symbols(), _backend_type()
37 auto ctx = std::get<0>(ctx_dev_err);
38 auto dev = std::get<1>(ctx_dev_err);
39 cl::CommandQueue queue = cl::CommandQueue(ctx, dev);
40 _gpu_owned_scheduler->init(ctx, queue, dev, &_tuner);
41 const std::string cl_kernels_folder(
"./cl_kernels");
58 return _gpu_scheduler;
CLRuntimeContext()
Default Constructor.
static CLKernelLibrary & get()
Access the KernelLibrary singleton.
std::tuple< cl::Context, cl::Device, cl_int > create_opencl_context_and_device(CLBackendType cl_backend_type)
This function creates an OpenCL context and a device.
Copyright (c) 2017-2021 Arm Limited.
Interface to enqueue OpenCL kernels and get/set the OpenCL CommandQueue and ICLTuner.
#define ARM_COMPUTE_ERROR_ON_MSG(cond, msg)
bool load_default()
Load symbols from any of the default OpenCL library names.
void set_gpu_scheduler(CLScheduler *scheduler)
CPU Scheduler setter.
void init(std::string kernel_path, cl::Context context, cl::Device device)
Initialises the kernel library.
CLKernelLibrary & kernel_library()
Provides global access to a CL context and command queue.
#define ARM_COMPUTE_ERROR_ON_NULLPTR(...)
IScheduler * scheduler() override
Scheduler accessor.
CLScheduler * gpu_scheduler()