COMPMID-1122: Store the cl_context only in one place

Change-Id: I39a8dd34a27f9f891397d58af36bd5f9d152281e
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130358
Reviewed-by: Pablo Tello <pablo.tello@arm.com>
Tested-by: Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h
index 0d81d73..26b459c 100644
--- a/arm_compute/runtime/CL/CLScheduler.h
+++ b/arm_compute/runtime/CL/CLScheduler.h
@@ -123,7 +123,7 @@
     void init(cl::Context context = cl::Context::getDefault(), cl::CommandQueue queue = cl::CommandQueue::getDefault(),
               cl::Device device = cl::Device::getDefault(), ICLTuner *cl_tuner = nullptr)
     {
-        _context        = std::move(context);
+        set_context(context);
         _queue          = std::move(queue);
         _target         = get_target_from_device(device);
         _is_initialised = true;
@@ -137,7 +137,7 @@
     cl::Context &context()
     {
         ARM_COMPUTE_ERROR_ON(!_is_initialised);
-        return _context;
+        return CLKernelLibrary::get().context();
     }
 
     /** Accessor to set the CL context to be used by the scheduler.
@@ -146,7 +146,7 @@
      */
     void set_context(cl::Context context)
     {
-        _context = std::move(context);
+        CLKernelLibrary::get().set_context(context);
     }
 
     /** Accessor for the associated CL command queue.
@@ -225,7 +225,6 @@
     /** Flag to ensure symbols initialisation is happening before Scheduler creation */
     static std::once_flag _initialize_symbols;
 
-    cl::Context      _context;
     cl::CommandQueue _queue;
     GPUTarget        _target;
     bool             _is_initialised;