aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/CL/ICLKernel.h
diff options
context:
space:
mode:
authorGian Marco <gianmarco.iodice@arm.com>2017-09-08 16:13:11 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:35:24 +0000
commitde691f055ac255c798a766483eef63465ac90c75 (patch)
tree0929f439b048ffa2b2fc8222388f9ee14f3a2a2e /arm_compute/core/CL/ICLKernel.h
parent54f366afa63522b8c0ea3b0e5e8d3012a4412681 (diff)
downloadComputeLibrary-de691f055ac255c798a766483eef63465ac90c75.tar.gz
COMPMID-524 - Implemented CLTuner object
Change-Id: Idbdbecca1fc299ed042936119d90e2bed8db0938 Reviewed-on: http://mpd-gerrit.cambridge.arm.com/87101 Reviewed-by: Anthony Barbier <anthony.barbier@arm.com> Tested-by: Kaizen <jeremy.johnson+kaizengerrit@arm.com>
Diffstat (limited to 'arm_compute/core/CL/ICLKernel.h')
-rw-r--r--arm_compute/core/CL/ICLKernel.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/arm_compute/core/CL/ICLKernel.h b/arm_compute/core/CL/ICLKernel.h
index 1334c54a6c..d118d13f3f 100644
--- a/arm_compute/core/CL/ICLKernel.h
+++ b/arm_compute/core/CL/ICLKernel.h
@@ -29,6 +29,8 @@
#include "arm_compute/core/CL/OpenCL.h"
#include "arm_compute/core/IKernel.h"
+#include <string>
+
namespace arm_compute
{
template <typename T>
@@ -140,6 +142,21 @@ public:
_lws_hint = 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
+ * In particular, this method can be used by CLScheduler to keep track of the best LWS for each configuration of the same kernel.
+ * The configuration ID should be provided only for the kernels potentially affected by the LWS geometry
+ *
+ * @note This method should be called after the configuration of the kernel
+ *
+ * @return configuration id string
+ */
+ const std::string &config_id() const
+ {
+ return _config_id;
+ }
+
/** Set the targeted GPU architecture
*
* @param[in] target The targeted GPU architecture
@@ -191,9 +208,10 @@ private:
unsigned int num_arguments_per_tensor() const;
protected:
- cl::Kernel _kernel; /**< OpenCL kernel to run */
- cl::NDRange _lws_hint; /**< Local workgroup size hint for the OpenCL kernel */
- GPUTarget _target; /**< The targeted GPU */
+ cl::Kernel _kernel; /**< OpenCL kernel to run */
+ cl::NDRange _lws_hint; /**< Local workgroup size hint for the OpenCL kernel */
+ GPUTarget _target; /**< The targeted GPU */
+ std::string _config_id; /**< Configuration ID */
};
/** Add the kernel to the command queue with the given window.