From 52526ec567f73dcd30c6f6073a3c068132fc066d Mon Sep 17 00:00:00 2001 From: Steve Yoo Date: Sun, 2 Feb 2025 21:26:01 +0000 Subject: [PATCH 1/3] [GPU] Insert scratchpad memory in concat when it's null --- .../src/graph/impls/onednn/concatenation_onednn.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp index 4e18e07f699174..2c439d98669952 100644 --- a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp +++ b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp @@ -27,6 +27,12 @@ struct concatenation_onednn : typed_primitive_onednn_impl get_arguments(concatenation_inst& instance) const override { std::unordered_map args; + if (_scratchpad_md.get_size() != 0) { + // onednn primitive can have only 1 scratchpad memory. + auto scratchpad = instance.get_intermediates_memories()[0]; + args.insert({DNNL_ARG_SCRATCHPAD, scratchpad->get_onednn_memory(_scratchpad_md, 0)}); + } + int input_idx = DNNL_ARG_MULTIPLE_SRC; for (size_t i = 0; i < instance.inputs_memory_count(); i++) { auto& input = instance.input_memory(i); From 80269e89e324389866ad5b3d1f71ec85fa62dddb Mon Sep 17 00:00:00 2001 From: Steve Yoo Date: Mon, 3 Feb 2025 14:04:07 +0000 Subject: [PATCH 2/3] [GPU] Change patch code location --- .../src/graph/impls/onednn/concatenation_onednn.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp index 2c439d98669952..77d4aaed0ffc7f 100644 --- a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp +++ b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp @@ -27,12 +27,6 @@ struct concatenation_onednn : typed_primitive_onednn_impl get_arguments(concatenation_inst& instance) const override { std::unordered_map args; - if (_scratchpad_md.get_size() != 0) { - // onednn primitive can have only 1 scratchpad memory. - auto scratchpad = instance.get_intermediates_memories()[0]; - args.insert({DNNL_ARG_SCRATCHPAD, scratchpad->get_onednn_memory(_scratchpad_md, 0)}); - } - int input_idx = DNNL_ARG_MULTIPLE_SRC; for (size_t i = 0; i < instance.inputs_memory_count(); i++) { auto& input = instance.input_memory(i); @@ -46,6 +40,12 @@ struct concatenation_onednn : typed_primitive_onednn_implget_onednn_memory(_scratchpad_md, 0)}); + } + configure_post_ops_arguments(instance, args); return args; From 35bb66edc1ed500458594837339d6e2c52df79da Mon Sep 17 00:00:00 2001 From: Steve Yoo Date: Tue, 4 Feb 2025 12:37:53 +0000 Subject: [PATCH 3/3] [GPU] Add comments about the patch --- .../intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp index 77d4aaed0ffc7f..ce55cb4ebc7d1f 100644 --- a/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp +++ b/src/plugins/intel_gpu/src/graph/impls/onednn/concatenation_onednn.cpp @@ -40,6 +40,8 @@ struct concatenation_onednn : typed_primitive_onednn_impl