Skip to content

Commit 694acc2

Browse files
authored
Revert "[GPU] Enable fusing dynamic eltwise with gemm in onednn case" (#29756)
This reverts commit c202882 ### Details: - *Reverts due to perf regression* ### Tickets: - *[CVS-164331](https://jira.devtools.intel.com/browse/CVS-164331)*
1 parent 004948f commit 694acc2

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/plugins/intel_gpu/src/graph/graph_optimizer/prepare_primitive_fusing.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1142,8 +1142,7 @@ void prepare_primitive_fusing::fuse_simple_primitives(program &p) {
11421142
auto eltw_in_size = peer_node->get_output_layout();
11431143
if (eltw_in_size.is_dynamic()
11441144
// this whitelist condition is temporarily and to be relaxed soon.
1145-
&& !fused_node->is_type<fully_connected>()
1146-
&& !fused_node->is_type<gemm>())
1145+
&& !fused_node->is_type<fully_connected>())
11471146
return;
11481147
}
11491148
if (parent1.first->is_type<convolution>() && !conv_supports_fusings(parent1.first->as<convolution>()))

src/plugins/intel_gpu/tests/unit/fusions/gemm_fusion_test.cpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,13 @@ class gemm_2in_dynamic_add : public gemm_2in_add {};
482482
TEST_P(gemm_2in_dynamic_add, add) {
483483
auto p = GetParam();
484484

485+
if (engine.get_device_info().supports_immad) {
486+
p.expected_fused_primitives++;
487+
if (!p.kernel_name.empty()) {
488+
p.expected_not_fused_primitives++;
489+
}
490+
}
491+
485492
cfg_fused.set_property(ov::intel_gpu::allow_new_shape_infer(true));
486493
cfg_not_fused.set_property(ov::intel_gpu::allow_new_shape_infer(true));
487494

@@ -518,10 +525,13 @@ TEST_P(gemm_2in_dynamic_add, add) {
518525
}
519526

520527
INSTANTIATE_TEST_SUITE_P(fusings_gpu, gemm_2in_dynamic_add, ::testing::ValuesIn(std::vector<gemm_test_params>{
521-
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_1, 4, 4, "gemm_tiled_opt", broadcast_kinds::batch, eltwise_mode::sum },
528+
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_1, 4, 5, "", broadcast_kinds::batch, eltwise_mode::sum },
529+
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_1, 4, 5, "", broadcast_kinds::feature, eltwise_mode::sum },
530+
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_2, 4, 5, "", broadcast_kinds::feature, eltwise_mode::sum },
531+
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_2, 4, 5, "", broadcast_kinds::batch, eltwise_mode::sum },
532+
// Reference graph can be fused because force_implementation leads to optimize_data = true;
522533
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_1, 4, 4, "gemm_tiled_opt", broadcast_kinds::feature, eltwise_mode::sum },
523-
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_2, 4, 4, "gemm_tiled_opt", broadcast_kinds::feature, eltwise_mode::sum },
524-
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_2, 4, 4, "gemm_tiled_opt", broadcast_kinds::batch, eltwise_mode::sum },
534+
gemm_test_params{ CASE_GEMM_2IN_FP16_3D_1, 4, 4, "gemm_tiled_opt", broadcast_kinds::batch, eltwise_mode::sum }
525535
}));
526536

527537
class gemm_2in_act_scale_quantize_i8 : public GemmFusingTest {};

0 commit comments

Comments
 (0)