From 892b70a8bb338f0c10c06112c41f6c8e8c3495f9 Mon Sep 17 00:00:00 2001 From: Giorgio Arena Date: Wed, 30 Mar 2022 12:23:10 +0100 Subject: Fix embedded kernel header inclusion for dynamic fusion Resolves: COMPMID-5155 Signed-off-by: Giorgio Arena Change-Id: Ic16fb12bfa748cac92d73019d08eea53bf470c12 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/7354 Reviewed-by: SiCong Li Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins --- .../dynamic_fusion/ClKernelBuildingImpl/Common.h | 5 +++++ .../components/ClGemmNativeKernelComponent.cpp | 2 +- src/gpu/cl/ClKernelLibrary.cpp | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h index 6e1291cdd5..4c720ea1aa 100644 --- a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h +++ b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/Common.h @@ -27,6 +27,7 @@ #define ARM_COMPUTE_EXPERIMENTAL_DYNAMICFUSION_IMPL_COMMON_H #include "arm_compute/core/CL/CLCompileContext.h" +#include "arm_compute/core/CL/CLKernelLibrary.h" #include "arm_compute/core/Error.h" #include "arm_compute/core/GPUTarget.h" #include "src/core/common/Macros.h" @@ -494,7 +495,11 @@ public: for(auto &header : headers_list) { +#if defined(EMBEDDED_KERNELS) + code += CLKernelLibrary::get().get_program(header).first; +#else // defined(EMBEDDED_KERNELS) code += "#include \"" + header + "\"\n"; +#endif // defined(EMBEDDED_KERNELS) } for(auto ¯os : additional_macros) diff --git a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/components/ClGemmNativeKernelComponent.cpp b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/components/ClGemmNativeKernelComponent.cpp index 4bf0b76c3a..7d23128276 100644 --- a/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/components/ClGemmNativeKernelComponent.cpp +++ b/src/core/experimental/dynamic_fusion/ClKernelBuildingImpl/components/ClGemmNativeKernelComponent.cpp @@ -44,7 +44,7 @@ ComponentType ClGemmNativeKernelComponent::get_component_type() const std::set ClGemmNativeKernelComponent::get_headers_list() const { - return std::set { "./common/experimental/gemm_fused_post_ops/act_eltwise_op_act/fp_post_ops_act_eltwise_op_act.h", "gemm_helpers.h", "repeat.h" }; + return std::set { "common/experimental/gemm_fused_post_ops/act_eltwise_op_act/fp_post_ops_act_eltwise_op_act.h", "gemm_helpers.h", "repeat.h" }; } Window ClGemmNativeKernelComponent::get_window() const diff --git a/src/gpu/cl/ClKernelLibrary.cpp b/src/gpu/cl/ClKernelLibrary.cpp index a5d37f49c4..5c17b43b8f 100644 --- a/src/gpu/cl/ClKernelLibrary.cpp +++ b/src/gpu/cl/ClKernelLibrary.cpp @@ -585,6 +585,10 @@ const std::map ClKernelLibrary::_program_source_map = { "common/gemm_utils.cl", #include "./cl_kernels/common/gemm_utils.clembed" + }, + { + "common/experimental/gemm_fused_post_ops/act_eltwise_op_act/fp_post_ops_act_eltwise_op_act.h", +#include "./cl_kernels/common/experimental/gemm_fused_post_ops/act_eltwise_op_act/fp_post_ops_act_eltwise_op_act.hembed" }, { "common/experimental/gemm_fused_post_ops/act_eltwise_op_act/gemm_mm_native.cl", @@ -613,6 +617,10 @@ const std::map ClKernelLibrary::_program_source_map = { "common/generate_proposals_quantized.cl", #include "./cl_kernels/common/generate_proposals_quantized.clembed" + }, + { + "gemm_helpers.h", +#include "./cl_kernels/gemm_helpers.hembed" }, { "helpers.h", @@ -621,6 +629,10 @@ const std::map ClKernelLibrary::_program_source_map = { "helpers_asymm.h", #include "./cl_kernels/helpers_asymm.hembed" + }, + { + "repeat.h", +#include "./cl_kernels/repeat.hembed" }, { "common/instance_normalization.cl", -- cgit v1.2.1