aboutsummaryrefslogtreecommitdiff
path: root/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h
diff options
context:
space:
mode:
authorSiCong Li <sicong.li@arm.com>2022-04-07 17:41:51 +0100
committerSiCong Li <sicong.li@arm.com>2022-04-14 12:59:27 +0000
commit0a486cf66c70b4bd9b0ea8ba9dc5b42f52ed16c3 (patch)
tree88eea0a182ea6dd8ec45b6aca7843d98cfd73764 /src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h
parentca364dfd87cab4cdb9179b68c42f10ff16e55002 (diff)
downloadComputeLibrary-0a486cf66c70b4bd9b0ea8ba9dc5b42f52ed16c3.tar.gz
Enable dynamic cl tuning for dynamically fused kernels
* Add new tune_kernel_dynamic interface * Add generate_config_id Resolves: COMPMID-5154 Signed-off-by: SiCong Li <sicong.li@arm.com> Change-Id: I39870e59fceda875487970061ceb2048995c5a45 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7400 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Giorgio Arena <giorgio.arena@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h')
-rw-r--r--src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h
index e24c742fd7..aa27572746 100644
--- a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h
+++ b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h
@@ -316,6 +316,15 @@ public:
return "";
}
+ /** Generate config id of the component
+ *
+ * @return std::string
+ */
+ virtual std::string generate_config_id() const
+ {
+ return "";
+ }
+
virtual CLBuildOptions generate_build_options() const
{
return CLBuildOptions{};
@@ -537,9 +546,21 @@ public:
return code;
}
+ /** Generate config id of the entire kernel
+ *
+ * Format: kernel_name--comp0_config_id--comp1_config_id--...
+ *
+ * @return std::string
+ */
std::string build_config_id() const
{
- return "";
+ std::string config_id = build_kernel_name();
+ traverse([&](std::stack<ComponentID> stack)
+ {
+ config_id += "--" + _components.find(stack.top())->second->generate_config_id() + "--";
+ });
+
+ return config_id;
}
CLBuildOptions build_options() const