COMPMID-734: CLTuner rework

Change-Id: I8f20d6ea8a09869d71003e7b08e0d33775282f6c
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/125802
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
diff --git a/arm_compute/core/CL/CLTypes.h b/arm_compute/core/CL/CLTypes.h
index a9d5fdd..14c31fa 100644
--- a/arm_compute/core/CL/CLTypes.h
+++ b/arm_compute/core/CL/CLTypes.h
@@ -60,5 +60,16 @@
     CL20,   /* the OpenCL 2.0 and above */
     UNKNOWN /* unkown version */
 };
-}
+
+/** OpenCL device options */
+struct CLDeviceOptions
+{
+    std::string name;        /**< Device name */
+    std::string extensions;  /**< List of supported extensions */
+    std::string ddk_version; /**< DDK version */
+    GPUTarget   gpu_target;  /**< GPU target architecture/instance */
+    size_t      num_cores;   /**< Number of cores */
+    size_t      cache_size;  /**< Cache size */
+};
+} // namespace arm_compute
 #endif /* __ARM_COMPUTE_CL_TYPES_H__ */
diff --git a/arm_compute/core/CL/ICLKernel.h b/arm_compute/core/CL/ICLKernel.h
index c7d0c21..e6700cd 100644
--- a/arm_compute/core/CL/ICLKernel.h
+++ b/arm_compute/core/CL/ICLKernel.h
@@ -198,6 +198,15 @@
         _lws_hint = lws_hint;
     }
 
+    /** Return the Local-Workgroup-Size hint
+     *
+     * @return Current lws hint
+     */
+    cl::NDRange lws_hint() const
+    {
+        return _lws_hint;
+    }
+
     /** Get the configuration ID
      *
      * @note The configuration ID can be used by the caller to distinguish different calls of the same OpenCL kernel
diff --git a/arm_compute/core/CL/kernels/CLDirectConvolutionLayerKernel.h b/arm_compute/core/CL/kernels/CLDirectConvolutionLayerKernel.h
index d47b7da..eb1bf58 100644
--- a/arm_compute/core/CL/kernels/CLDirectConvolutionLayerKernel.h
+++ b/arm_compute/core/CL/kernels/CLDirectConvolutionLayerKernel.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 ARM Limited.
+ * Copyright (c) 2017-2018 ARM Limited.
  *
  * SPDX-License-Identifier: MIT
  *
@@ -88,7 +88,7 @@
     void run(const Window &window, cl::CommandQueue &queue) override;
     BorderSize border_size() const override;
 
-private:
+public:
     const ICLTensor *_input;
     const ICLTensor *_biases;
     const ICLTensor *_weights;