From ea3a37b1ba56e8b68890e6ac8ef3b1ffabc3985d Mon Sep 17 00:00:00 2001 From: Felix Dohyun Kim Date: Wed, 28 Dec 2022 16:10:39 +0900 Subject: [PATCH] [GPU][DG2] Fix some unit tests (#14413) * update default_tolerance --- .../tests/fusions/convolution_fusion_test.cpp | 1386 ++++++++--------- .../fusions/deconvolution_fusion_test.cpp | 161 +- .../tests/fusions/mvn_fusion_test.cpp | 50 +- .../tests/fusions/pooling_fusion_test.cpp | 64 +- .../binary_convolution_gpu_test.cpp | 11 + .../intel_gpu/tests/test_utils/test_utils.cpp | 2 +- 6 files changed, 830 insertions(+), 844 deletions(-) diff --git a/src/plugins/intel_gpu/tests/fusions/convolution_fusion_test.cpp b/src/plugins/intel_gpu/tests/fusions/convolution_fusion_test.cpp index 9241b141122..5a16d437b1c 100644 --- a/src/plugins/intel_gpu/tests/fusions/convolution_fusion_test.cpp +++ b/src/plugins/intel_gpu/tests/fusions/convolution_fusion_test.cpp @@ -36,6 +36,7 @@ struct convolution_test_params { data_types default_type; format default_format; size_t expected_fused_primitives; + size_t expected_fused_primitives_onednn; size_t expected_not_fused_primitives; }; @@ -81,6 +82,8 @@ struct conv_eltw_test_params { class ConvFusingTest : public BaseFusingTest { public: void execute(convolution_test_params& p, int min=0, int max=0) { + if(engine.get_device_info().supports_immad) + p.expected_fused_primitives = p.expected_fused_primitives_onednn; cldnn::memory::ptr input_prim; if (min == max) { input_prim = get_mem(get_input_layout(p)); @@ -227,6 +230,7 @@ public: // Onednn post operation has issue in a machine that does not support imad. if (!engine.get_device_info().supports_immad) return; + p.expected_fused_primitives = p.expected_fused_primitives_onednn; auto input_prim = p.data_type == data_types::u8 ? get_mem(get_input_layout(p), 0, 10) : get_mem(get_input_layout(p)); @@ -393,19 +397,19 @@ TEST_P(conv_fp32_reorder_fsv16_to_bfyx, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_fsv16_to_bfyx, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_1, 2, 2 }, - convolution_test_params{ CASE_CONV_FP32_2, 2, 2 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 2 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 2 }, - convolution_test_params{ CASE_CONV_FP32_5, 2, 2 }, - convolution_test_params{ CASE_CONV_FP32_14, 2, 2 }, + convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP32_5, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP32_14, 2, 2, 2 }, - convolution_test_params{ CASE_CONV_FP16_1, 2, 2 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 2 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 2 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 2 }, - convolution_test_params{ CASE_CONV_FP16_5, 2, 2 }, - convolution_test_params{ CASE_CONV_FP16_13, 2, 2 } + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP16_5, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_FP16_13, 2, 2, 2 } })); class conv_fp32_reorder_fsv16_to_bfyx_conv : public ConvFusingTest {}; @@ -432,19 +436,19 @@ TEST_P(conv_fp32_reorder_fsv16_to_bfyx_conv, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_fsv16_to_bfyx_conv, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_1, 3, 4 }, - convolution_test_params{ CASE_CONV_FP32_2, 3, 4 }, - convolution_test_params{ CASE_CONV_FP32_3, 3, 4 }, - convolution_test_params{ CASE_CONV_FP32_4, 3, 4 }, - convolution_test_params{ CASE_CONV_FP32_5, 3, 4 }, - convolution_test_params{ CASE_CONV_FP32_14, 3, 4 }, + convolution_test_params{ CASE_CONV_FP32_1, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP32_2, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP32_3, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP32_4, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP32_5, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP32_14, 3, 3, 4 }, - convolution_test_params{ CASE_CONV_FP16_1, 3, 4 }, - convolution_test_params{ CASE_CONV_FP16_2, 3, 4 }, - convolution_test_params{ CASE_CONV_FP16_3, 3, 4 }, - convolution_test_params{ CASE_CONV_FP16_4, 3, 4 }, - convolution_test_params{ CASE_CONV_FP16_5, 3, 4 }, - convolution_test_params{ CASE_CONV_FP16_13, 3, 4 }, + convolution_test_params{ CASE_CONV_FP16_1, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP16_2, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP16_3, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP16_4, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP16_5, 3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP16_13, 3, 3, 4 }, })); @@ -465,15 +469,15 @@ TEST_P(conv_fp32_activation, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_activation, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, })); @@ -495,17 +499,17 @@ TEST_P(conv_fp32_scale, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_scale, ::testing::ValuesIn(std::vector{ - // convolution_test_params{ CASE_CONV_FP32_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_10, 2, 3 }, + // convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_10, 2, 2, 3 }, - // convolution_test_params{ CASE_CONV_FP16_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_10, 2, 3 }, + // convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_10, 2, 2, 3 }, })); class conv_fp32_bias : public ConvFusingTest {}; @@ -525,17 +529,17 @@ TEST_P(conv_fp32_bias, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_bias, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_10, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_10, 2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_10, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_10, 2, 2, 3 }, })); class conv_fp32_double_bias : public ConvFusingTest {}; @@ -557,8 +561,8 @@ TEST_P(conv_fp32_double_bias, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_double_bias, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 4 }, })); class conv_fp32_wrong_bias : public ConvFusingTest {}; @@ -587,7 +591,7 @@ TEST_P(conv_fp32_wrong_bias, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_wrong_bias, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_15, 3, 3 }, + convolution_test_params{ CASE_CONV_FP32_15, 3, 2, 3 }, })); class conv_fp32_add_per_element_planar_const : public ConvFusingTest {}; @@ -616,7 +620,7 @@ TEST_P(conv_fp32_add_per_element_planar_const, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_add_per_element_planar_const, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_3, 3, 4 }, + convolution_test_params{ CASE_CONV_FP32_3, 3, 3, 4 }, })); class conv_fp32_prelu_eltwise : public ConvFusingTest {}; @@ -634,7 +638,7 @@ TEST_P(conv_fp32_prelu_eltwise, basic_sum) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -652,7 +656,7 @@ TEST_P(conv_fp32_prelu_eltwise, basic_sum_slope_2) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -670,7 +674,7 @@ TEST_P(conv_fp32_prelu_eltwise, basic_prod) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -688,7 +692,7 @@ TEST_P(conv_fp32_prelu_eltwise, basic_prod_slope_2) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -707,7 +711,7 @@ TEST_P(conv_fp32_prelu_eltwise, eltw_broadcast_sum) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -726,7 +730,7 @@ TEST_P(conv_fp32_prelu_eltwise, eltw_broadcast_sum_slope_2) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -745,7 +749,7 @@ TEST_P(conv_fp32_prelu_eltwise, eltw_broadcast_prod) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -764,7 +768,7 @@ TEST_P(conv_fp32_prelu_eltwise, eltw_broadcast_prod_slope_2) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -786,7 +790,7 @@ TEST_P(conv_fp32_prelu_eltwise, vector_ops) { implementation_desc conv_impl = { format::b_fs_yx_fsv16, "" }; bo_fused.set_option(build_option::force_implementations({ { "conv_prim", conv_impl } })); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -807,7 +811,7 @@ TEST_P(conv_fp32_prelu_eltwise, vector_ops_slope_2) { implementation_desc conv_impl = { format::b_fs_yx_fsv16, "" }; bo_fused.set_option(build_option::force_implementations({ { "conv_prim", conv_impl } })); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -829,7 +833,7 @@ TEST_P(conv_fp32_prelu_eltwise, vector_ops_mixed_types) { implementation_desc conv_impl = { format::b_fs_yx_fsv16, "" }; bo_fused.set_option(build_option::force_implementations({ { "conv_prim", conv_impl } })); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -851,20 +855,20 @@ TEST_P(conv_fp32_prelu_eltwise, vector_ops_mixed_types_slope_2) { implementation_desc conv_impl = { format::b_fs_yx_fsv16, "" }; bo_fused.set_option(build_option::force_implementations({ { "conv_prim", conv_impl } })); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_prelu_eltwise, ::testing::ValuesIn(std::vector{ - // convolution_test_params{ CASE_CONV_FP32_1, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 4 }, + // convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 4 }, - // convolution_test_params{ CASE_CONV_FP32_1, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 4 }, + // convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 4 }, })); class conv_fp32_multi_eltwise_2 : public ConvFusingTest {}; @@ -892,13 +896,13 @@ TEST_P(conv_fp32_multi_eltwise_2, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_multi_eltwise_2, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 4 }, })); @@ -928,13 +932,13 @@ TEST_P(conv_fp32_multi_eltwise_2_clamp, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_multi_eltwise_2_clamp, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 5 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 5 }, })); @@ -968,13 +972,13 @@ TEST_P(conv_fp32_multi_eltwise_4_clamp, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_multi_eltwise_4_clamp, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 2, 7 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 7 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 7 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 7 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 7 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 7 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 7 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 7 }, })); class conv_fp32_eltwise_fusing_extend_ops : public ConvFusingTest {}; @@ -1064,13 +1068,13 @@ TEST_P(conv_fp32_eltwise_fusing_extend_ops, pattern03_sub_div) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_eltwise_fusing_extend_ops, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 3, 7 }, - convolution_test_params{ CASE_CONV_FP32_3, 3, 7 }, - convolution_test_params{ CASE_CONV_FP32_4, 3, 7 }, + convolution_test_params{ CASE_CONV_FP32_2, 3, 3, 7 }, + convolution_test_params{ CASE_CONV_FP32_3, 3, 3, 7 }, + convolution_test_params{ CASE_CONV_FP32_4, 3, 3, 7 }, - convolution_test_params{ CASE_CONV_FP16_2, 3, 7 }, - convolution_test_params{ CASE_CONV_FP16_3, 3, 7 }, - convolution_test_params{ CASE_CONV_FP16_4, 3, 7 }, + convolution_test_params{ CASE_CONV_FP16_2, 3, 3, 7 }, + convolution_test_params{ CASE_CONV_FP16_3, 3, 3, 7 }, + convolution_test_params{ CASE_CONV_FP16_4, 3, 3, 7 }, })); class conv_fp32_eltwise_fusing_2conv : public ConvFusingTest {}; @@ -1102,13 +1106,13 @@ TEST_P(conv_fp32_eltwise_fusing_2conv, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_eltwise_fusing_2conv, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 4, 7 }, - convolution_test_params{ CASE_CONV_FP32_3, 4, 7 }, - convolution_test_params{ CASE_CONV_FP32_4, 4, 7 }, + convolution_test_params{ CASE_CONV_FP32_2, 4, 4, 7 }, + convolution_test_params{ CASE_CONV_FP32_3, 4, 4, 7 }, + convolution_test_params{ CASE_CONV_FP32_4, 4, 4, 7 }, - convolution_test_params{ CASE_CONV_FP16_2, 4, 7 }, - convolution_test_params{ CASE_CONV_FP16_3, 4, 7 }, - convolution_test_params{ CASE_CONV_FP16_4, 4, 7 }, + convolution_test_params{ CASE_CONV_FP16_2, 4, 4, 7 }, + convolution_test_params{ CASE_CONV_FP16_3, 4, 4, 7 }, + convolution_test_params{ CASE_CONV_FP16_4, 4, 4, 7 }, })); @@ -1139,13 +1143,13 @@ TEST_P(conv_fp32_multi_eltwise_3_fusing, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_multi_eltwise_3_fusing, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 5 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 5 }, })); @@ -1175,12 +1179,12 @@ TEST_P(conv_fp32_multi_eltwise_quantization, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_multi_eltwise_quantization, ::testing::ValuesIn(std::vector{ -// convolution_test_params{ CASE_CONV_FP32_2, 4, 5 }, - convolution_test_params{ CASE_CONV_FP32_4, 4, 5 }, + // convolution_test_params{ CASE_CONV_FP32_2, 4, 4, 5 }, + convolution_test_params{ CASE_CONV_FP32_4, 4, 4, 5 }, - convolution_test_params{ CASE_CONV_FP16_2, 4, 5 }, - convolution_test_params{ CASE_CONV_FP16_3, 4, 5 }, - convolution_test_params{ CASE_CONV_FP16_4, 4, 5 }, + convolution_test_params{ CASE_CONV_FP16_2, 4, 4, 5 }, + convolution_test_params{ CASE_CONV_FP16_3, 4, 4, 5 }, + convolution_test_params{ CASE_CONV_FP16_4, 4, 4, 5 }, })); @@ -1212,13 +1216,13 @@ TEST_P(conv_fp32_multi_eltwise_concat, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_multi_eltwise_concat, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 5, 5 }, - convolution_test_params{ CASE_CONV_FP32_3, 5, 5 }, - convolution_test_params{ CASE_CONV_FP32_4, 5, 5 }, + convolution_test_params{ CASE_CONV_FP32_2, 5, 5, 5 }, + convolution_test_params{ CASE_CONV_FP32_3, 5, 5, 5 }, + convolution_test_params{ CASE_CONV_FP32_4, 5, 5, 5 }, - convolution_test_params{ CASE_CONV_FP16_2, 5, 5 }, - convolution_test_params{ CASE_CONV_FP16_3, 5, 5 }, - convolution_test_params{ CASE_CONV_FP16_4, 5, 5 }, + convolution_test_params{ CASE_CONV_FP16_2, 5, 5, 5 }, + convolution_test_params{ CASE_CONV_FP16_3, 5, 5, 5 }, + convolution_test_params{ CASE_CONV_FP16_4, 5, 5, 5 }, })); class conv_fp32_eltwise_b_fs_zyx_fsv16 : public ConvFusingTest {}; @@ -1260,15 +1264,15 @@ TEST_P(conv_fp32_swish, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_swish, ::testing::ValuesIn(std::vector{ - // convolution_test_params{ CASE_CONV_FP32_1, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 4 }, + // convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 4 }, - // convolution_test_params{ CASE_CONV_FP32_1, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 4 }, + // convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 4 }, })); TEST_P(conv_fp32_eltwise_b_fs_zyx_fsv16, splitted_vector_ops) { @@ -1297,20 +1301,20 @@ TEST_P(conv_fp32_eltwise_b_fs_zyx_fsv16, splitted_vector_ops) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_eltwise_b_fs_zyx_fsv16, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_6, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_7, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_8, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_9, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_11, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_12, 2, 3 }, - // convolution_test_params{ CASE_CONV_FP32_13, 2, 3 }, - leads to mvn_scale_activation_quantize_i8_eltwise_fp32_quantize_i8.basic/11 test failure + convolution_test_params{ CASE_CONV_FP32_6, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_7, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_8, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_11, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_12, 2, 2, 3 }, + // convolution_test_params{ CASE_CONV_FP32_13, 2, 2, 3 }, - leads to mvn_scale_activation_quantize_i8_eltwise_fp32_quantize_i8.basic/11 test failure - convolution_test_params{ CASE_CONV_FP16_6, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_7, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_8, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_9, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_11, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_12, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_6, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_7, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_8, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_11, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_12, 2, 2, 3 }, })); class conv_fp32_quantize_u8_first_conv : public ConvFusingTest {}; @@ -1336,7 +1340,7 @@ TEST_P(conv_fp32_quantize_u8_first_conv, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_quantize_u8_first_conv, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_14, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_14, 2, 2, 3 }, })); class conv_fp32_quantize_u8 : public ConvFusingTest {}; @@ -1362,11 +1366,11 @@ TEST_P(conv_fp32_quantize_u8, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_quantize_u8, ::testing::ValuesIn(std::vector{ // For now only b_fs_yx_fsv16 supports this case - convolution_test_params{ CASE_CONV_FP32_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, })); class conv_fp32_scale_quantize_i8 : public ConvFusingTest {}; @@ -1396,11 +1400,11 @@ TEST_P(conv_fp32_scale_quantize_i8, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_scale_quantize_i8, ::testing::ValuesIn(std::vector{ // For now only b_fs_yx_fsv16 supports this case - convolution_test_params{ CASE_CONV_FP32_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 4 }, })); class conv_fp32_scale_activation_quantize_i8 : public ConvFusingTest {}; @@ -1429,11 +1433,11 @@ TEST_P(conv_fp32_scale_activation_quantize_i8, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_scale_activation_quantize_i8, ::testing::ValuesIn(std::vector{ // For now only b_fs_yx_fsv16 supports this case - convolution_test_params{ CASE_CONV_FP32_2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 5 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 5 }, })); class conv_fp32_scale_activation_quantize_u8_eltwise_fp32 : public ConvFusingTest {}; @@ -1464,11 +1468,11 @@ TEST_P(conv_fp32_scale_activation_quantize_u8_eltwise_fp32, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_scale_activation_quantize_u8_eltwise_fp32, ::testing::ValuesIn(std::vector{ // For now only b_fs_yx_fsv16 supports this case - convolution_test_params{ CASE_CONV_FP32_2, 2, 6 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 6 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 6 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 6 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 6 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 6 }, })); class conv_fp32_scale_activation_quantize_i8_activation : public ConvFusingTest {}; @@ -1498,11 +1502,11 @@ TEST_P(conv_fp32_scale_activation_quantize_i8_activation, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_scale_activation_quantize_i8_activation, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 2, 6 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 6 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 6 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 6 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 6 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 6 }, })); @@ -1539,8 +1543,8 @@ TEST_P(conv_fp32_scale_activation_quantize_i8_eltwise_fp32_quantize_i8, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_scale_activation_quantize_i8_eltwise_fp32_quantize_i8, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP32_2, 2, 7 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 7 }, + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 7 }, })); class conv_fp32_activation_eltwise_in_u8_fp32 : public ConvFusingTest {}; @@ -1562,16 +1566,16 @@ TEST_P(conv_fp32_activation_eltwise_in_u8_fp32, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_activation_eltwise_in_u8_fp32, ::testing::ValuesIn(std::vector{ - // convolution_test_params{ CASE_CONV_FP32_1, 2, 4 }, - eltwise fusing not supported - convolution_test_params{ CASE_CONV_FP32_2, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_3, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_4, 2, 4 }, - // convolution_test_params{ CASE_CONV_FP32_5, 2, 4 }, - eltwise fusing not supported - convolution_test_params{ CASE_CONV_FP32_6, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_7, 2, 4 }, - // convolution_test_params{ CASE_CONV_FP32_8, 2, 4 }, - unknown bug - convolution_test_params{ CASE_CONV_FP32_9, 2, 4 }, - convolution_test_params{ CASE_CONV_FP32_10, 2, 4 }, + // convolution_test_params{ CASE_CONV_FP32_1, 2, 2, 4 }, - eltwise fusing not supported + convolution_test_params{ CASE_CONV_FP32_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_4, 2, 2, 4 }, + // convolution_test_params{ CASE_CONV_FP32_5, 2, 2, 4 }, - eltwise fusing not supported + convolution_test_params{ CASE_CONV_FP32_6, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_7, 2, 2, 4 }, + // convolution_test_params{ CASE_CONV_FP32_8, 2, 2, 4 }, - unknown bug + convolution_test_params{ CASE_CONV_FP32_9, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_FP32_10, 2, 2, 4 }, })); class conv_fp32_activation_eltwise_diff_sizes : public ConvEltwTest {}; @@ -1630,14 +1634,14 @@ TEST_P(conv_scale_activation_eltwise_fp32_quantize_i8, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_scale_activation_eltwise_fp32_quantize_i8, ::testing::ValuesIn(std::vector{ - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_1, 2, 3, 6 }, - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_2, 2, 3, 6 }, - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_3, 2, 3, 6 }, - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_4, 2, 3, 6 }, - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_5, 3, 3, 6 }, - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_6, 3, 3, 6 }, - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_7, 3, 3, 6 }, - conv_eltw_test_params{ CASE_CONV_ELTW_FP32_8, 3, 3, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_1, 2, 4, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_2, 2, 4, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_3, 2, 4, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_4, 2, 4, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_5, 3, 4, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_6, 3, 4, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_7, 3, 4, 6 }, + conv_eltw_test_params{ CASE_CONV_ELTW_FP32_8, 3, 4, 6 }, })); /* ----------------------------------------------------------------------------------------------------- */ @@ -1678,25 +1682,25 @@ TEST_P(conv_int8_scale, fp16_scale_out) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 3 }, })); class conv_int8_eltwise : public ConvFusingTest {}; @@ -1717,25 +1721,25 @@ TEST_P(conv_int8_eltwise, fp16_eltwise_out) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_eltwise, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 3 }, })); class conv_int8_scale_shift_swish : public ConvFusingTest {}; @@ -1763,25 +1767,25 @@ TEST_P(conv_int8_scale_shift_swish, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_shift_swish, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 8 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 8 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 8 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 8 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 8 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 8 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 8 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 8 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 8 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 8 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 8 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 8 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 8 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 8 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 8 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 8 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 8 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 8 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 8 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 8 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 8 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 8 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 8 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 8 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 8 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 8 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 8 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 8 }, })); class conv_int8_prelu_eltwise : public ConvFusingTest {}; @@ -1799,7 +1803,7 @@ TEST_P(conv_int8_prelu_eltwise, basic) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -1817,7 +1821,7 @@ TEST_P(conv_int8_prelu_eltwise, basic_slope_2) { reorder("reorder_bfyx", input_info("eltwise"), p.default_format, data_types::f32) ); - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -1843,7 +1847,7 @@ TEST_P(conv_int8_prelu_eltwise, fsv16) { return; } - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } @@ -1869,34 +1873,34 @@ TEST_P(conv_int8_prelu_eltwise, fsv16_slope_2) { return; } - tolerance = default_tolerance(p.default_type); + tolerance = default_tolerance(p.data_type); execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_prelu_eltwise, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_7, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_8, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_7, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_8, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_7, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_8, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_7, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_8, 2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 4 }, })); class conv_int8_activation_eltwise_quantize : public ConvFusingTest {}; @@ -1926,9 +1930,6 @@ TEST_P(conv_int8_activation_eltwise_quantize, fsv16) { // TODO Add 5D int8 optimized convolution implementations return; } - // Activation won't be fused because onednn doesn't support negative activation - if (engine.get_device_info().supports_immad) - p.expected_fused_primitives += 2; tolerance = 1.f; execute(p); @@ -1960,27 +1961,24 @@ TEST_P(conv_int8_activation_eltwise_quantize, fsv32) { // TODO Add 5D int8 optimized convolution implementations return; } - // Activation won't be fused because onednn doesn't support negative activation - if (engine.get_device_info().supports_immad) - p.expected_fused_primitives += 2; tolerance = 1.f; execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_activation_eltwise_quantize, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_7, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_8, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_7, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_8, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_U8S8_7, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_U8S8_8, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_S8S8_7, 2, 4, 5 }, + convolution_test_params{ CASE_CONV_S8S8_8, 2, 4, 5 }, })); class conv_int8_activation_eltwise : public ConvFusingTest {}; @@ -2004,9 +2002,6 @@ TEST_P(conv_int8_activation_eltwise, fsv16) { // TODO Add 5D int8 optimized convolution implementations return; } - // Activation won't be fused because onednn doesn't support negative activation - if (engine.get_device_info().supports_immad) - p.expected_fused_primitives += 2; tolerance = default_tolerance(p.default_type); execute(p); @@ -2032,27 +2027,24 @@ TEST_P(conv_int8_activation_eltwise, fsv32) { // TODO Add 5D int8 optimized convolution implementations return; } - // Activation won't be fused because onednn doesn't support negative activation - if (engine.get_device_info().supports_immad) - p.expected_fused_primitives += 2; tolerance = default_tolerance(p.default_type); execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_activation_eltwise, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_7, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_8, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_7, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_8, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_U8S8_7, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_U8S8_8, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_S8S8_7, 2, 4, 4 }, + convolution_test_params{ CASE_CONV_S8S8_8, 2, 4, 4 }, })); class conv_int8_quantize_u8 : public ConvFusingTest {}; @@ -2097,26 +2089,26 @@ TEST_P(conv_int8_quantize_u8, per_tensor) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_quantize_u8, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_8, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_8, 2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 3 }, })); class conv_int8_scale_quantize_i8 : public ConvFusingTest {}; @@ -2145,29 +2137,29 @@ TEST_P(conv_int8_scale_quantize_i8, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_quantize_i8, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_9, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_10, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_9, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_9, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_9, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 4 }, })); class conv_int8_scale_quantize_i8_conv_b_fs_yx_fsv4_int8 : public ConvFusingTest {}; @@ -2196,7 +2188,7 @@ TEST_P(conv_int8_scale_quantize_i8_conv_b_fs_yx_fsv4_int8, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_quantize_i8_conv_b_fs_yx_fsv4_int8, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_S8S8_11, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_11, 2, 2, 4 }, })); class conv_int8_relu_quantize : public ConvFusingTest {}; @@ -2245,25 +2237,25 @@ TEST_P(conv_int8_relu_quantize, u8) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_relu_quantize, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 4 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 4 }, })); class conv_int8_scale_activation_quantize_i8 : public ConvFusingTest {}; @@ -2291,25 +2283,25 @@ TEST_P(conv_int8_scale_activation_quantize_i8, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_activation_quantize_i8, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 5 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 5 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 5 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 5 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 5 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 5 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 5 }, })); class conv_int8_scale_activation_quantize_i8_eltwise_fp32 : public ConvFusingTest {}; @@ -2339,25 +2331,25 @@ TEST_P(conv_int8_scale_activation_quantize_i8_eltwise_fp32, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_activation_quantize_i8_eltwise_fp32, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 6 }, })); class conv_int8_scale_activation_quantize_i8_activation : public ConvFusingTest {}; @@ -2387,25 +2379,25 @@ TEST_P(conv_int8_scale_activation_quantize_i8_activation, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_activation_quantize_i8_activation, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 6 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 6 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 6 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 6 }, })); @@ -2443,25 +2435,25 @@ TEST_P(conv_int8_scale_activation_quantize_i8_eltwise_fp32_quantize_i8, DISABLED } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_activation_quantize_i8_eltwise_fp32_quantize_i8, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 7 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 7 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 7 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 7 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 7 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 7 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 7 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 7 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 7 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 7 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 7 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 7 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 7 }, })); class conv_int8_scale_prelu_quantize_i8_eltwise_fp32_quantize_i8_vec : public ConvFusingTest {}; @@ -2536,10 +2528,10 @@ TEST_P(conv_int8_scale_prelu_quantize_i8_eltwise_fp32_quantize_i8_vec, vector_op } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_prelu_quantize_i8_eltwise_fp32_quantize_i8_vec, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_3, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_5, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_5, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_5, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_5, 2, 2, 7 }, })); class conv_int8_asymmetric_weights : public ConvFusingTest {}; @@ -2591,23 +2583,23 @@ TEST_P(conv_int8_asymmetric_weights, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_asymmetric_weights, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 2 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 2 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 2 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 2 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 2 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 2 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 2 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 2 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 2 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 2 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 2 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 2 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 2 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 2 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 2 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 2 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 2 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 2 }, })); class conv_int8_asymmetric_data : public ConvFusingTest {}; @@ -2661,25 +2653,25 @@ TEST_P(conv_int8_asymmetric_data, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_asymmetric_data, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 3 }, })); class conv_int8_asymmetric_data_and_weights : public ConvFusingTest {}; @@ -2733,25 +2725,25 @@ TEST_P(conv_int8_asymmetric_data_and_weights, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_asymmetric_data_and_weights, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 3 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_4, 2, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, 2, 2, 3 }, })); @@ -2856,7 +2848,7 @@ TEST_P(conv_fp32_reorder_bfyx_to_fsv32_conv_basic, basic) { execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_bfyx_to_fsv32_conv_basic, ::testing::ValuesIn(std::vector{ - convolution_test_params{ FSV32_CASE_CONV_FP32_1, 3, 4 } + convolution_test_params{ FSV32_CASE_CONV_FP32_1, 3, 3, 4 } })); // 'reorder_fsv32' is not being fused in the current impl, since it has 'mean' @@ -2881,7 +2873,7 @@ TEST_P(conv_fp32_reorder_bfyx_to_fsv32_conv_mean, have_mean) { execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_bfyx_to_fsv32_conv_mean, ::testing::ValuesIn(std::vector{ - convolution_test_params{ FSV32_CASE_CONV_FP32_1, 4, 4 } + convolution_test_params{ FSV32_CASE_CONV_FP32_1, 4, 4, 4 } })); // 'reorder_fsv32' is not being fused in the current impl, since it has 'subtract' @@ -2914,7 +2906,7 @@ TEST_P(conv_fp32_reorder_bfyx_to_fsv32_conv_subtract, have_subtract_per_feature) execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_bfyx_to_fsv32_conv_subtract, ::testing::ValuesIn(std::vector{ - convolution_test_params{ FSV32_CASE_CONV_FP32_1, 4, 4 } + convolution_test_params{ FSV32_CASE_CONV_FP32_1, 4, 4, 4 } })); // 'reorder_fsv32' is not being fused in the current impl, since it has 'fused_activation' @@ -2946,7 +2938,7 @@ TEST_P(conv_fp32_reorder_bfyx_to_fsv32_conv_fused_activation, have_fused_activat } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_bfyx_to_fsv32_conv_fused_activation, ::testing::ValuesIn(std::vector{ - convolution_test_params{ FSV32_CASE_CONV_FP32_1, 5, 6 } + convolution_test_params{ FSV32_CASE_CONV_FP32_1, 5, 5, 6 } })); // activation will be fused through 'reorder_fsv32' and 'reorder_fsv32' will be fused as well @@ -2977,7 +2969,7 @@ TEST_P(conv_fp32_reorder_bfyx_to_fsv32_conv_fused_through_activation, have_fused } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_bfyx_to_fsv32_conv_fused_through_activation, ::testing::ValuesIn(std::vector{ - convolution_test_params{ FSV32_CASE_CONV_FP32_1, 4, 6 } + convolution_test_params{ FSV32_CASE_CONV_FP32_1, 4, 4, 6 } })); // 'reorder_fsv32' is being fused even if it has 'padding' @@ -3005,7 +2997,7 @@ TEST_P(conv_fp32_reorder_bfyx_to_fsv32_conv_data_padding, have_data_padding) { execute(p); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_reorder_bfyx_to_fsv32_conv_data_padding, ::testing::ValuesIn(std::vector{ - convolution_test_params{ FSV32_CASE_CONV_FP32_1, 5, 5 } + convolution_test_params{ FSV32_CASE_CONV_FP32_1, 5, 5, 5 } })); #ifdef ENABLE_ONEDNN_FOR_GPU @@ -3030,7 +3022,7 @@ TEST_P(conv_fp16_prelu_onednn, basic_activation_eltwise) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp16_prelu_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP16_1, 2, 4 }, + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 4 }, })); class conv_int8_eltwise_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3047,9 +3039,7 @@ TEST_P(conv_int8_eltwise_onednn, u8_eltwise_sum_out) { data("shift_data", get_mem(shift_layout)), convolution("conv_prim", input_info("input"), { "weights" }, { "bias" }, p.groups, p.stride, p.pad, p.dilation), eltwise("shift", { input_info("conv_prim"), input_info("shift_data") }, eltwise_mode::sum, data_types::f32), - // Add 'not fusable' primitive to be able to test full size tensor sum - crop("crop", input_info("shift"), get_output_layout(p).get_tensor(), { 0, 0, 0, 0 }), - reorder("reorder_bfyx", input_info("crop"), p.default_format, data_types::f32) + reorder("reorder_bfyx", input_info("shift"), p.default_format, data_types::f32) ); tolerance = 1.f; @@ -3066,37 +3056,37 @@ TEST_P(conv_int8_eltwise_onednn, u8_eltwise_prod_out) { data("scale_data", get_mem(get_per_channel_layout(p), 1.0f/p.kernel.count()) ), convolution("conv_prim", input_info("input"), { "weights" }, { "bias" }, p.groups, p.stride, p.pad, p.dilation), eltwise("scale", { input_info("conv_prim"), input_info("scale_data") }, eltwise_mode::prod, data_types::u8), - crop("crop", input_info("scale"), get_output_layout(p).get_tensor(), { 0, 0, 0, 0 }), - reorder("reorder_bfyx", input_info("crop"), p.default_format, data_types::f32) + reorder("reorder_bfyx", input_info("scale"), p.default_format, data_types::f32) ); tolerance = 1.f; execute(p); } +static const int NOT_FOR_CLDNN = 0; INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_eltwise_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 3, 4 }, - convolution_test_params{ CASE_CONV_U8S8_2, 3, 4 }, - convolution_test_params{ CASE_CONV_U8S8_3, 3, 4 }, - convolution_test_params{ CASE_CONV_S8S8_1, 3, 4 }, - convolution_test_params{ CASE_CONV_S8S8_2, 3, 4 }, - convolution_test_params{ CASE_CONV_S8S8_3, 3, 4 }, + convolution_test_params{ CASE_CONV_U8S8_1, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, NOT_FOR_CLDNN, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_11, 3, 4 }, - convolution_test_params{ CASE_CONV_U8S8_12, 3, 4 }, - convolution_test_params{ CASE_CONV_U8S8_13, 3, 4 }, - convolution_test_params{ CASE_CONV_S8S8_12, 3, 4 }, - convolution_test_params{ CASE_CONV_S8S8_13, 3, 4 }, - convolution_test_params{ CASE_CONV_S8S8_14, 3, 4 }, + convolution_test_params{ CASE_CONV_U8S8_11, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_12, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_13, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_12, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_13, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_14, NOT_FOR_CLDNN, 2, 3 }, - convolution_test_params{ CASE_CONV3D_U8S8_1, 3, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_2, 3, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_3, 3, 4 }, - convolution_test_params{ CASE_CONV3D_U8S8_5, 3, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_1, 3, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_2, 3, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_3, 3, 4 }, - convolution_test_params{ CASE_CONV3D_S8S8_5, 3, 4 }, + convolution_test_params{ CASE_CONV3D_U8S8_1, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_2, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_3, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV3D_U8S8_5, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_1, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_2, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_3, NOT_FOR_CLDNN, 2, 3 }, + convolution_test_params{ CASE_CONV3D_S8S8_5, NOT_FOR_CLDNN, 2, 3 }, })); class conv_fp32_activation_abs_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3116,10 +3106,10 @@ TEST_P(conv_fp32_activation_abs_onednn, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_activation_abs_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP16_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, })); class conv_fp32_activation_mish_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3139,10 +3129,10 @@ TEST_P(conv_fp32_activation_mish_onednn, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_activation_mish_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP16_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, })); class conv_fp32_activation_swish_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3162,10 +3152,10 @@ TEST_P(conv_fp32_activation_swish_onednn, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_activation_swish_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP16_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, })); class conv_fp32_activation_hswish_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3185,10 +3175,10 @@ TEST_P(conv_fp32_activation_hswish_onednn, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_activation_hswish_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP16_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, })); class conv_fp32_activation_exp_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3208,10 +3198,10 @@ TEST_P(conv_fp32_activation_exp_onednn, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_fp32_activation_exp_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_FP16_1, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_2, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_3, 2, 3 }, - convolution_test_params{ CASE_CONV_FP16_4, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_FP16_4, 2, 2, 3 }, })); class conv_int8_quantize_u8_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3256,12 +3246,12 @@ TEST_P(conv_int8_quantize_u8_onednn, per_tensor) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_quantize_u8_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, })); class conv_int8_activation_eltwise_quantize_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3294,27 +3284,27 @@ TEST_P(conv_int8_activation_eltwise_quantize_onednn, bsv32_fsv32) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_activation_eltwise_quantize_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_4, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_7, 2, 5 }, - //convolution_test_params{ CASE_CONV_U8S8_8, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_11, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_14, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_4, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_7, 2, 2, 5 }, + //convolution_test_params{ CASE_CONV_U8S8_8, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_14, 2, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_4, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_7, 2, 5 }, - //convolution_test_params{ CASE_CONV_S8S8_8, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_15, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_4, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_7, 2, 2, 5 }, + //convolution_test_params{ CASE_CONV_S8S8_8, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_15, 2, 2, 5 }, })); class conv_int8_scale_shift_swish_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3343,17 +3333,17 @@ TEST_P(conv_int8_scale_shift_swish_onednn, bsv32_fsv32) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_scale_shift_swish_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_1, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_11, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 7 }, - convolution_test_params{ CASE_CONV_U8S8_14, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 7 }, - convolution_test_params{ CASE_CONV_S8S8_15, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_U8S8_14, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 7 }, + convolution_test_params{ CASE_CONV_S8S8_15, 2, 2, 7 }, })); class conv_int8_eltwise_scale_onednn : public WeightsPrimitiveFusingTestOneDNN {}; @@ -3393,7 +3383,7 @@ TEST_P(conv_int8_eltwise_scale_onednn, u8_eltwise_prod_out_reuse) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, conv_int8_eltwise_scale_onednn, ::testing::ValuesIn(std::vector{ - convolution_test_params{ CASE_CONV_U8S8_15, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_15, 2, 2, 4 }, })); /* ----------------------------------------------------------------------------------------------------- */ @@ -3428,28 +3418,28 @@ TEST_P(post_ops_optimizations_onednn_eltw_linear_eltw_linear, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, post_ops_optimizations_onednn_eltw_linear_eltw_linear, ::testing::ValuesIn(std::vector{ // cases with batch = 1 - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, // cases with batch = 16 - convolution_test_params{ CASE_CONV_U8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_10, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 3 }, // cases with batch = 32 - convolution_test_params{ CASE_CONV_U8S8_11, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_15, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_15, 2, 2, 3 }, })); // Before optimization: eltw_non_linear + eltw_linear @@ -3480,28 +3470,28 @@ TEST_P(post_ops_optimizations_onednn_eltw_non_linear_eltw_linear, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, post_ops_optimizations_onednn_eltw_non_linear_eltw_linear, ::testing::ValuesIn(std::vector{ // cases with batch = 1 - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, // cases with batch = 16 - convolution_test_params{ CASE_CONV_U8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_10, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 3 }, // cases with batch = 32 - convolution_test_params{ CASE_CONV_U8S8_11, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_15, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_15, 2, 2, 3 }, })); // Before optimization: binary_add + eltw_linear @@ -3532,28 +3522,28 @@ TEST_P(post_ops_optimizations_onednn_binary_add_eltw_linear, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, post_ops_optimizations_onednn_binary_add_eltw_linear, ::testing::ValuesIn(std::vector{ // cases with batch = 1 - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, // cases with batch = 16 - convolution_test_params{ CASE_CONV_U8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_10, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 3 }, // cases with batch = 32 - convolution_test_params{ CASE_CONV_U8S8_11, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_15, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_15, 2, 2, 3 }, })); // Before optimization: binary_mul + eltw_linear @@ -3586,26 +3576,26 @@ TEST_P(post_ops_optimizations_onednn_binary_mul_eltw_linear, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, post_ops_optimizations_onednn_binary_mul_eltw_linear, ::testing::ValuesIn(std::vector{ // cases with batch = 1 - convolution_test_params{ CASE_CONV_U8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 4 }, // cases with batch = 16 - convolution_test_params{ CASE_CONV_U8S8_9, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_10, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_9, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_9, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_9, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 4 }, // cases with batch = 32 - convolution_test_params{ CASE_CONV_U8S8_11, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 4 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 4 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 4 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 4 }, })); // Before optimization: o_scale + eltw_linear @@ -3636,26 +3626,26 @@ TEST_P(post_ops_optimizations_onednn_oscale_eltw_linear, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, post_ops_optimizations_onednn_oscale_eltw_linear, ::testing::ValuesIn(std::vector{ // cases with batch = 1 - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, // cases with batch = 16 - convolution_test_params{ CASE_CONV_U8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_10, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 3 }, // cases with batch = 32 - convolution_test_params{ CASE_CONV_U8S8_11, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 3 }, })); // Before optimization: eltw_any + sum + eltw_linear @@ -3689,26 +3679,26 @@ TEST_P(post_ops_optimizations_onednn_eltw_any_sum_eltw_linear, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, post_ops_optimizations_onednn_eltw_any_sum_eltw_linear, ::testing::ValuesIn(std::vector{ // cases with batch = 1 - convolution_test_params{ CASE_CONV_U8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 5 }, // cases with batch = 16 - convolution_test_params{ CASE_CONV_U8S8_10, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 5 }, // cases with batch = 32 - convolution_test_params{ CASE_CONV_U8S8_11, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 5 }, - convolution_test_params{ CASE_CONV_U8S8_14, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 5 }, - convolution_test_params{ CASE_CONV_S8S8_15, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_U8S8_14, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 5 }, + convolution_test_params{ CASE_CONV_S8S8_15, 2, 2, 5 }, })); // Input range uses in 2 cases: not per-tensor output range or out_lo > out_hi @@ -3737,28 +3727,28 @@ TEST_P(post_ops_optimizations_input_range, basic) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, post_ops_optimizations_input_range, ::testing::ValuesIn(std::vector{ // cases with batch = 1 - convolution_test_params{ CASE_CONV_U8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_3, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_1, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_2, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_3, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_3, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_1, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_2, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_3, 2, 2, 3 }, // cases with batch = 16 - convolution_test_params{ CASE_CONV_U8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_10, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_9, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_10, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_10, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_9, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_10, 2, 2, 3 }, // cases with batch = 32 - convolution_test_params{ CASE_CONV_U8S8_11, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_U8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_12, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_13, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_14, 2, 3 }, - convolution_test_params{ CASE_CONV_S8S8_15, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_11, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_U8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_12, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_13, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_14, 2, 2, 3 }, + convolution_test_params{ CASE_CONV_S8S8_15, 2, 2, 3 }, })); struct convolution_eltw_sum_test_params { diff --git a/src/plugins/intel_gpu/tests/fusions/deconvolution_fusion_test.cpp b/src/plugins/intel_gpu/tests/fusions/deconvolution_fusion_test.cpp index 8843060fd8f..0d15bf8e677 100644 --- a/src/plugins/intel_gpu/tests/fusions/deconvolution_fusion_test.cpp +++ b/src/plugins/intel_gpu/tests/fusions/deconvolution_fusion_test.cpp @@ -34,27 +34,6 @@ struct deconv_test_params { size_t expected_fused_primitives; size_t expected_fused_primitives_onednn; size_t expected_not_fused_primitives; - bool operator<(const deconv_test_params& o)const { - auto to_tuple = [](const deconv_test_params& p) { - return make_tuple(p.in_shape, - p.out_shape, - p.kernel, - p.stride, - p.pad, - p.dilation, - p.groups, - static_cast(p.data_type), - p.input_format, - static_cast(p.weights_type), - p.weights_format, - static_cast(p.default_type), - p.default_format, - p.expected_fused_primitives, - p.expected_fused_primitives_onednn, - p.expected_not_fused_primitives); - }; - return to_tuple(*this) { public: void execute(deconv_test_params& p) { + execute(p, get_mem(get_input_layout(p))); + } + void execute(deconv_test_params& p, cldnn::memory::ptr input_prim) { if (engine.get_device_info().supports_immad) p.expected_fused_primitives = p.expected_fused_primitives_onednn; - auto input_prim = get_mem(get_input_layout(p)); network network_not_fused(this->engine, this->topology_non_fused, bo_not_fused); network network_fused(this->engine, this->topology_fused, bo_fused); network_fused.set_input_data("input", input_prim); @@ -398,30 +379,30 @@ TEST_P(deconv_scale, basic) { auto p = GetParam(); create_topologies( input_layout("input", get_input_layout(p)), - data("weights", get_mem(get_weights_layout(p))), + data("weights", get_mem(get_weights_layout(p), -4, 4)), data("scale_data", get_mem(get_per_channel_layout(p), 1.0f/p.kernel.count())), deconvolution("deconv", input_info("input"), { "weights" }, p.groups, p.stride, p.pad), eltwise("scale", { input_info("deconv"), input_info("scale_data") }, eltwise_mode::prod), reorder("out", input_info("scale"), p.default_format, data_types::f32) ); - tolerance = 1e-5f; - execute(p); + tolerance = default_tolerance(p.data_type); + execute(p, get_mem(get_input_layout(p), 0, 16)); } TEST_P(deconv_scale, fp16_scale_out) { auto p = GetParam(); create_topologies( input_layout("input", get_input_layout(p)), - data("weights", get_mem(get_weights_layout(p))), + data("weights", get_mem(get_weights_layout(p), -4, 4)), data("scale_data", get_mem(get_per_channel_layout(p), 1.0f/p.kernel.count())), deconvolution("deconv", input_info("input"), { "weights" }, p.groups, p.stride, p.pad), eltwise("scale", { input_info("deconv"), input_info("scale_data") }, eltwise_mode::prod, data_types::f16), reorder("out", input_info("scale"), p.default_format, data_types::f32) ); - tolerance = 1e-5f; - execute(p); + tolerance = default_tolerance(p.data_type); + execute(p, get_mem(get_input_layout(p), 0, 16)); } INSTANTIATE_TEST_SUITE_P(fusings_gpu, deconv_scale, ::testing::ValuesIn(std::vector{ @@ -584,81 +565,81 @@ TEST_P(deconv_scale_actv_quant_i8, basic) { } INSTANTIATE_TEST_SUITE_P(fusings_gpu, deconv_scale_actv_quant_i8, ::testing::ValuesIn(std::vector{ - deconv_test_params{ CASE_DECONV_FP32_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_4, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_FP32_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_4, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_8, 2, 3, 5 }, - deconv_test_params{ CASE_DECONV_FP16_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_4, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_FP16_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_4, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_8, 2, 3, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3, 2, 3, 5 }, // deconv_test_params{ CASE_DECONV_U8S8_4, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_8, 2, 3, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3, 2, 3, 5 }, // deconv_test_params{ CASE_DECONV_S8S8_4, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_8, 2, 3, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_3, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_4, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP32_3D_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_3, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_4, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP32_3D_8, 2, 3, 5 }, // FIXME no quantize implementation for bs_fs_yx_bsv16_fsv16 format AND add_required_reorders pass completely ruins data types // add_required_reorders pass tries to reorder everything to output type if no format exists, this ruins fp32 -> int8 quantize //deconv_test_params{ CASE_DECONV_FP32_3D_9, 3, 3, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_3, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_4, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_FP16_3D_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_3, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_4, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_FP16_3D_8, 2, 3, 5 }, //deconv_test_params{ CASE_DECONV_FP16_3D_9, 3, 3, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_3, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_4, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_U8S8_3D_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_3, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_4, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_U8S8_3D_8, 2, 3, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_1, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_2, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_3, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_4, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_5, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_6, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_7, 2, 2, 5 }, - deconv_test_params{ CASE_DECONV_S8S8_3D_8, 2, 2, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_1, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_2, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_3, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_4, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_5, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_6, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_7, 2, 3, 5 }, + deconv_test_params{ CASE_DECONV_S8S8_3D_8, 2, 3, 5 }, })); class deconv_scale_actv_quant_u8_eltw_scale_actv_quant_i8 : public DeconvolutionFusingTest {}; diff --git a/src/plugins/intel_gpu/tests/fusions/mvn_fusion_test.cpp b/src/plugins/intel_gpu/tests/fusions/mvn_fusion_test.cpp index 5d2c9bd8f72..1efbed06fcc 100644 --- a/src/plugins/intel_gpu/tests/fusions/mvn_fusion_test.cpp +++ b/src/plugins/intel_gpu/tests/fusions/mvn_fusion_test.cpp @@ -35,6 +35,8 @@ struct mvn_test_params { class MVNFusingTest : public ::BaseFusingTest { public: void execute(mvn_test_params& p) { + if (engine.get_device_info().supports_immad) + p.expected_fused_primitives = p.expected_fused_primitives_onednn; auto input_prim = get_mem(get_input_layout(p)); network network_not_fused(this->engine, this->topology_non_fused, bo_not_fused); @@ -211,30 +213,30 @@ INSTANTIATE_TEST_SUITE_P(fusings_gpu, mvn_scale_activation_eltwise_fp32_quantize // mvn_test_params{ CASE_MVN_F16_2, 2, 7 }, // mvn_test_params{ CASE_MVN_3D_F16_1, 2, 7 }, // mvn_test_params{ CASE_MVN_3D_F16_2, 2, 7 }, - mvn_test_params{ CASE_MVN_I8_1, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_I8_2, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_I8_3, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_I8_4, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_I8_5, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_I8_6, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_I8_7, 3, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_I8_1, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_I8_2, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_I8_3, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_I8_4, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_I8_5, 3, 3, 6 }, - mvn_test_params{ CASE_MVN_U8_1, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_U8_2, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_U8_3, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_U8_4, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_U8_5, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_U8_6, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_U8_7, 3, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_U8_1, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_U8_2, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_U8_3, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_U8_4, 2, 3, 6 }, - mvn_test_params{ CASE_MVN_3D_U8_5, 3, 3, 6 }, + mvn_test_params{ CASE_MVN_I8_1, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_I8_2, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_I8_3, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_I8_4, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_I8_5, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_I8_6, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_I8_7, 3, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_I8_1, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_I8_2, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_I8_3, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_I8_4, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_I8_5, 3, 4, 6 }, + mvn_test_params{ CASE_MVN_U8_1, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_U8_2, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_U8_3, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_U8_4, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_U8_5, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_U8_6, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_U8_7, 3, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_U8_1, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_U8_2, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_U8_3, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_U8_4, 2, 4, 6 }, + mvn_test_params{ CASE_MVN_3D_U8_5, 3, 4, 6 }, })); class mvn_eltwise : public MVNFusingTest {}; diff --git a/src/plugins/intel_gpu/tests/fusions/pooling_fusion_test.cpp b/src/plugins/intel_gpu/tests/fusions/pooling_fusion_test.cpp index 173dec1f5b3..1952c2affdd 100644 --- a/src/plugins/intel_gpu/tests/fusions/pooling_fusion_test.cpp +++ b/src/plugins/intel_gpu/tests/fusions/pooling_fusion_test.cpp @@ -33,6 +33,8 @@ struct pooling_test_params { class PoolingFusingTest : public ::BaseFusingTest { public: void execute(pooling_test_params& p) { + if (engine.get_device_info().supports_immad) + p.expected_fused_primitives = p.expected_fused_primitives_onednn; auto input_prim = get_mem(get_input_layout(p)); build_options options; options.set_option(build_option::optimize_data(true)); @@ -313,7 +315,7 @@ TEST_P(pooling_scale_activation_quantize, per_channel) { data("scale_data", get_mem(get_per_channel_layout(p), 1.0f / 16.0f)), pooling("pooling", input_info("input"), p.pool_mode, kernel, stride, pads_begin, pads_end), eltwise("scale", { input_info("pooling"), input_info("scale_data") }, eltwise_mode::prod, p.default_type), - activation("activation", input_info("scale"), activation_func::hyperbolic_tan), + activation("activation", input_info("scale"), activation_func::relu), quantize("quantize", input_info("activation"), input_info("in_lo"), input_info("in_hi"), input_info("out_lo"), input_info("out_hi"), 255, data_types::u8), reorder("output_reorder", input_info("quantize"), p.default_format, data_types::f32) @@ -325,40 +327,40 @@ TEST_P(pooling_scale_activation_quantize, per_channel) { INSTANTIATE_TEST_SUITE_P(fusings_gpu, pooling_scale_activation_quantize, ::testing::ValuesIn(std::vector{ // Input type: FP32 - pooling_test_params{ CASE_POOLING_F32_3, 2, 3, 5, pooling_mode::average, "pooling_gpu_bfyx_block_opt" }, - pooling_test_params{ CASE_POOLING_F32_3, 2, 3, 5, pooling_mode::max, "pooling_gpu_bfyx_block_opt" }, - pooling_test_params{ CASE_POOLING_F32_3, 2, 3, 5, pooling_mode::average, "pooling_gpu_ref" }, - pooling_test_params{ CASE_POOLING_F32_3, 2, 3, 5, pooling_mode::max, "pooling_gpu_ref" }, - pooling_test_params{ CASE_POOLING_F32_4, 2, 3, 5, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" }, - pooling_test_params{ CASE_POOLING_F32_4, 2, 3, 5, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" }, - pooling_test_params{ CASE_POOLING_F32_5, 2, 3, 5, pooling_mode::average, "pooling_gpu_byxf_padding_opt" }, - pooling_test_params{ CASE_POOLING_F32_5, 2, 3, 5, pooling_mode::max, "pooling_gpu_byxf_padding_opt" }, - pooling_test_params{ CASE_POOLING_F32_6, 2, 3, 5, pooling_mode::average, "pooling_gpu_byxf_opt" }, - pooling_test_params{ CASE_POOLING_F32_6, 2, 3, 5, pooling_mode::max, "pooling_gpu_byxf_opt" }, - pooling_test_params{ CASE_POOLING_F32_7, 2, 3, 5, pooling_mode::average, "pooling_gpu_bsv16_fsv16" }, - pooling_test_params{ CASE_POOLING_F32_7, 2, 3, 5, pooling_mode::max, "pooling_gpu_bsv16_fsv16" }, - pooling_test_params{ CASE_POOLING_F32_8, 2, 3, 5, pooling_mode::average, "pooling_gpu_blocked" }, - pooling_test_params{ CASE_POOLING_F32_8, 2, 3, 5, pooling_mode::max, "pooling_gpu_blocked" }, - pooling_test_params{ CASE_POOLING_F32_9, 2, 3, 5, pooling_mode::average, "pooling_gpu_ref" }, - pooling_test_params{ CASE_POOLING_F32_9, 2, 3, 5, pooling_mode::max, "pooling_gpu_ref" }, - pooling_test_params{ CASE_POOLING_F32_10, 2, 3, 5, pooling_mode::average, "pooling_gpu_bsv16_fsv16" }, - pooling_test_params{ CASE_POOLING_F32_10, 2, 3, 5, pooling_mode::max, "pooling_gpu_bsv16_fsv16" }, + pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 5, pooling_mode::average, "pooling_gpu_bfyx_block_opt" }, + pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 5, pooling_mode::max, "pooling_gpu_bfyx_block_opt" }, + pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 5, pooling_mode::average, "pooling_gpu_ref" }, + pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 5, pooling_mode::max, "pooling_gpu_ref" }, + pooling_test_params{ CASE_POOLING_F32_4, 2, 2, 5, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" }, + pooling_test_params{ CASE_POOLING_F32_4, 2, 2, 5, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" }, + pooling_test_params{ CASE_POOLING_F32_5, 2, 2, 5, pooling_mode::average, "pooling_gpu_byxf_padding_opt" }, + pooling_test_params{ CASE_POOLING_F32_5, 2, 2, 5, pooling_mode::max, "pooling_gpu_byxf_padding_opt" }, + pooling_test_params{ CASE_POOLING_F32_6, 2, 2, 5, pooling_mode::average, "pooling_gpu_byxf_opt" }, + pooling_test_params{ CASE_POOLING_F32_6, 2, 2, 5, pooling_mode::max, "pooling_gpu_byxf_opt" }, + pooling_test_params{ CASE_POOLING_F32_7, 2, 2, 5, pooling_mode::average, "pooling_gpu_bsv16_fsv16" }, + pooling_test_params{ CASE_POOLING_F32_7, 2, 2, 5, pooling_mode::max, "pooling_gpu_bsv16_fsv16" }, + pooling_test_params{ CASE_POOLING_F32_8, 2, 2, 5, pooling_mode::average, "pooling_gpu_blocked" }, + pooling_test_params{ CASE_POOLING_F32_8, 2, 2, 5, pooling_mode::max, "pooling_gpu_blocked" }, + pooling_test_params{ CASE_POOLING_F32_9, 2, 2, 5, pooling_mode::average, "pooling_gpu_ref" }, + pooling_test_params{ CASE_POOLING_F32_9, 2, 2, 5, pooling_mode::max, "pooling_gpu_ref" }, + pooling_test_params{ CASE_POOLING_F32_10, 2, 2, 5, pooling_mode::average, "pooling_gpu_bsv16_fsv16" }, + pooling_test_params{ CASE_POOLING_F32_10, 2, 2, 5, pooling_mode::max, "pooling_gpu_bsv16_fsv16" }, // Input type: INT8 - pooling_test_params{ CASE_POOLING_I8_5, 2, 3, 5, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" }, - pooling_test_params{ CASE_POOLING_I8_5, 2, 3, 5, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" }, - pooling_test_params{ CASE_POOLING_I8_6, 2, 3, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, - pooling_test_params{ CASE_POOLING_I8_6, 2, 3, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_I8_5, 2, 2, 5, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" }, + pooling_test_params{ CASE_POOLING_I8_5, 2, 2, 5, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" }, + pooling_test_params{ CASE_POOLING_I8_6, 2, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_I8_6, 2, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, // Input type: UINT8 - pooling_test_params{ CASE_POOLING_U8_3, 2, 3, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, - pooling_test_params{ CASE_POOLING_U8_3, 2, 3, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, - pooling_test_params{ CASE_POOLING_U8_3, 2, 3, 5, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" }, - pooling_test_params{ CASE_POOLING_U8_3, 2, 3, 5, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" }, - pooling_test_params{ CASE_POOLING_U8_5, 2, 3, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, - pooling_test_params{ CASE_POOLING_U8_5, 2, 3, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, - pooling_test_params{ CASE_POOLING_U8_6, 2, 3, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, - pooling_test_params{ CASE_POOLING_U8_6, 2, 3, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 5, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" }, + pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 5, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" }, + pooling_test_params{ CASE_POOLING_U8_5, 2, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_U8_5, 2, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_U8_6, 2, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" }, + pooling_test_params{ CASE_POOLING_U8_6, 2, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" }, })); INSTANTIATE_TEST_SUITE_P(DISABLED_fusings_gpu, pooling_scale_activation_quantize, ::testing::ValuesIn(std::vector{ diff --git a/src/plugins/intel_gpu/tests/test_cases/binary_convolution_gpu_test.cpp b/src/plugins/intel_gpu/tests/test_cases/binary_convolution_gpu_test.cpp index 4cf18ac5620..6b2c91b4bda 100644 --- a/src/plugins/intel_gpu/tests/test_cases/binary_convolution_gpu_test.cpp +++ b/src/plugins/intel_gpu/tests/test_cases/binary_convolution_gpu_test.cpp @@ -180,6 +180,11 @@ class binary_convolution_test : public ::testing::TestWithParam { TEST_P(binary_convolution_test, conv) { auto& engine = get_test_engine(); + + // DG2 is not validated for binary convolution: https://github.com/openvinotoolkit/openvino/pull/12486 + if(engine.get_device_info().supports_immad) + return; + cldnn::build_options options; options.set_option(cldnn::build_option::optimize_data(true)); topology topology_bin; @@ -337,6 +342,9 @@ static void set_binary_values(cldnn::memory::ptr mem, std::vector args) { TEST(binary_convolution, basic_convolution_1x1_single_packed_channel) { auto& engine = get_test_engine(); + // DG2 is not validated for binary convolution: https://github.com/openvinotoolkit/openvino/pull/12486 + if(engine.get_device_info().supports_immad) + return; auto input = engine.allocate_memory({ data_types::bin, format::b_fs_yx_32fp, { 1, 16, 2, 2 } }); auto weights = engine.allocate_memory({ data_types::bin, format::bfyx, { 4, 16, 1, 1 } }); @@ -420,6 +428,9 @@ TEST(binary_convolution, basic_convolution_1x1_single_packed_channel) { TEST(binary_convolution, basic_convolution_1x1_single_packed_channel_fp16) { auto& engine = get_test_engine(); + // DG2 is not validated for binary convolution: https://github.com/openvinotoolkit/openvino/pull/12486 + if(engine.get_device_info().supports_immad) + return; auto input = engine.allocate_memory({ data_types::bin, format::b_fs_yx_32fp, { 1, 16, 2, 2 } }); auto weights = engine.allocate_memory({ data_types::bin, format::bfyx, { 4, 16, 1, 1 } }); diff --git a/src/plugins/intel_gpu/tests/test_utils/test_utils.cpp b/src/plugins/intel_gpu/tests/test_utils/test_utils.cpp index e036a5e240c..ffd96f5fd5c 100644 --- a/src/plugins/intel_gpu/tests/test_utils/test_utils.cpp +++ b/src/plugins/intel_gpu/tests/test_utils/test_utils.cpp @@ -393,7 +393,7 @@ double default_tolerance(data_types dt) { return 1e-5; case data_types::i8: case data_types::u8: - return 1.; + return 1.5; default: IE_THROW() << "Unknown"; }