From 03aaa413702e6c107a83faae453b6a1ff1af93fe Mon Sep 17 00:00:00 2001 From: Roman Lyamin Date: Mon, 16 Sep 2024 17:11:35 +0400 Subject: [PATCH] [GPU] Increasing conditions for using fake_aligned shapes (#26450) ### Tickets: - *[148550](https://jira.devtools.intel.com/browse/CVS-148550)* --- src/plugins/intel_gpu/src/graph/fully_connected.cpp | 5 +++++ .../unit/fake_alignment/fc_fake_alignment_test.cpp | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/plugins/intel_gpu/src/graph/fully_connected.cpp b/src/plugins/intel_gpu/src/graph/fully_connected.cpp index d0820a119d5468..0a645dcde17509 100644 --- a/src/plugins/intel_gpu/src/graph/fully_connected.cpp +++ b/src/plugins/intel_gpu/src/graph/fully_connected.cpp @@ -222,6 +222,11 @@ kernel_impl_params fully_connected_inst::get_fake_aligned_params(kernel_impl_par return std::move(orig_impl_param); } + if (orig_impl_param.dev_type == cldnn::device_type::integrated_gpu && + batch_size <= 91 && input_shape.back() >= 512) { + return std::move(orig_impl_param); + } + size_t fake_align_base = 8; if (orig_impl_param.dev_type == cldnn::device_type::integrated_gpu) { auto weights_layout_dt = orig_impl_param.weights_layout.value().data_type; diff --git a/src/plugins/intel_gpu/tests/unit/fake_alignment/fc_fake_alignment_test.cpp b/src/plugins/intel_gpu/tests/unit/fake_alignment/fc_fake_alignment_test.cpp index 6e3472bc48a80d..63023fc53184a2 100644 --- a/src/plugins/intel_gpu/tests/unit/fake_alignment/fc_fake_alignment_test.cpp +++ b/src/plugins/intel_gpu/tests/unit/fake_alignment/fc_fake_alignment_test.cpp @@ -83,13 +83,13 @@ INSTANTIATE_TEST_SUITE_P(smoke, fully_connected_fake_align_test, layout{ov::PartialShape{0, 1000}, data_types::f16, format::bfyx} // fake_aligned output layout_dgpu }, { - layout{ov::PartialShape{11, 1024}, data_types::i8, format::bfyx, padding{{1,1,1,1}, 0}}, // input_layout + layout{ov::PartialShape{92, 1024}, data_types::i8, format::bfyx, padding{{1,1,1,1}, 0}}, // input_layout layout{ov::PartialShape{1000, 1024}, data_types::i8, format::bfyx}, // weight layout data_types::f16, - layout{ov::PartialShape{16, 1024}, data_types::i8, format::bfyx, padding{{1,1,1,1}, 0}}, // fake_aligned input layout_igpu - layout{ov::PartialShape{16, 1000}, data_types::f16, format::bfyx}, // fake_aligned output layout_igpu - layout{ov::PartialShape{16, 1024}, data_types::i8, format::bfyx, padding{{1,1,1,1}, 0}}, // fake_aligned input layout_dgpu - layout{ov::PartialShape{16, 1000}, data_types::f16, format::bfyx} // fake_aligned output layout_dgpu + layout{ov::PartialShape{96, 1024}, data_types::i8, format::bfyx, padding{{1,1,1,1}, 0}}, // fake_aligned input layout_igpu + layout{ov::PartialShape{96, 1000}, data_types::f16, format::bfyx}, // fake_aligned output layout_igpu + layout{ov::PartialShape{96, 1024}, data_types::i8, format::bfyx, padding{{1,1,1,1}, 0}}, // fake_aligned input layout_dgpu + layout{ov::PartialShape{96, 1000}, data_types::f16, format::bfyx} // fake_aligned output layout_dgpu }, {