diff options
author | Gian Marco <gianmarco.iodice@arm.com> | 2017-09-08 16:13:11 +0100 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:35:24 +0000 |
commit | de691f055ac255c798a766483eef63465ac90c75 (patch) | |
tree | 0929f439b048ffa2b2fc8222388f9ee14f3a2a2e /arm_compute/core/CL/ICLKernel.h | |
parent | 54f366afa63522b8c0ea3b0e5e8d3012a4412681 (diff) | |
download | ComputeLibrary-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.h | 24 |
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. |