[GPU][DG2] Change tanh to relu in fusion unit tests (#14325)

* fix tanh activation fusecount error
* expected_fused_primitives_onednn
* add onednn fused to mvn test param
* add onednn fused to pooling test param
This commit is contained in:
Felix Dohyun Kim 2022-12-08 16:53:09 +09:00 committed by GitHub
parent b799e3eb91
commit 4e85612cfb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 254 additions and 251 deletions

View File

@ -1630,12 +1630,12 @@ 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>{
conv_eltw_test_params{ CASE_CONV_ELTW_FP32_1, 2, 2, 6 },
conv_eltw_test_params{ CASE_CONV_ELTW_FP32_2, 2, 2, 6 },
conv_eltw_test_params{ CASE_CONV_ELTW_FP32_3, 2, 2, 6 },
conv_eltw_test_params{ CASE_CONV_ELTW_FP32_4, 2, 2, 6 },
conv_eltw_test_params{ CASE_CONV_ELTW_FP32_5, 3, 2, 6 },
conv_eltw_test_params{ CASE_CONV_ELTW_FP32_6, 3, 2, 6 },
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 },
}));
@ -3780,6 +3780,7 @@ struct convolution_eltw_sum_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;
};
@ -3852,9 +3853,9 @@ TEST_P(onednn_binary_add_full_tensor, basic) {
#define CASE_CONV_ELTW_SUM_SUM_DIFF_DTYPE_1 { 1, 32, 4, 4 }, { 1, 16, 4, 4 }, { 1, 1, 3, 3 }, { 1, 1 }, { 1, 1 }, { 1, 1 }, 1, data_types::u8, format::b_fs_yx_fsv32, data_types::i8, format::bfyx, data_types::i8, format::b_fs_yx_fsv32, data_types::u8, format::b_fs_yx_fsv32, data_types::f32, format::bfyx
INSTANTIATE_TEST_SUITE_P(eltwise_sum_fusings_gpu, onednn_binary_add_full_tensor, ::testing::ValuesIn(std::vector<convolution_eltw_sum_test_params>{
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_BINARY_ADD_1, 2, 5 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_SUM_1, 2, 5 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_SUM_DIFF_DTYPE_1, 2, 5 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_BINARY_ADD_1, 2, 3, 5 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_SUM_1, 2, 3, 5 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_SUM_DIFF_DTYPE_1, 2, 3, 5 },
}));
@ -3888,8 +3889,8 @@ TEST_P(onednn_multiple_binary_add_full_tensor, basic) {
}
INSTANTIATE_TEST_SUITE_P(multiple_eltwise_sum_fusings_gpu, onednn_multiple_binary_add_full_tensor, ::testing::ValuesIn(std::vector<convolution_eltw_sum_test_params>{
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_BINARY_ADD_1, 2, 7 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_SUM_1, 2, 7 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_BINARY_ADD_1, 2, 3, 7 },
convolution_eltw_sum_test_params{ CASE_CONV_ELTW_SUM_SUM_1, 2, 3, 7 },
}));
struct implicit_crop_concat_convolution_test_params {

View File

@ -28,6 +28,7 @@ struct mvn_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;
};
@ -109,26 +110,26 @@ TEST_P(mvn_activation, basic) {
}
INSTANTIATE_TEST_SUITE_P(fusings_gpu, mvn_activation, ::testing::ValuesIn(std::vector<mvn_test_params>{
mvn_test_params{ CASE_MVN_F32_1, 2, 3 },
mvn_test_params{ CASE_MVN_F32_2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_F32_1, 2, 3 },
mvn_test_params{ CASE_MVN_3D_F32_2, 2, 3 },
mvn_test_params{ CASE_MVN_F16_1, 2, 3 },
mvn_test_params{ CASE_MVN_F16_2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_F16_1, 2, 3 },
mvn_test_params{ CASE_MVN_3D_F16_2, 2, 3 },
mvn_test_params{ CASE_MVN_I8_1, 2, 3 },
mvn_test_params{ CASE_MVN_I8_2, 2, 3 },
mvn_test_params{ CASE_MVN_I8_3, 2, 3 },
mvn_test_params{ CASE_MVN_I8_4, 2, 3 },
mvn_test_params{ CASE_MVN_3D_I8_1, 2, 3 },
mvn_test_params{ CASE_MVN_3D_I8_2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_1, 2, 3 },
mvn_test_params{ CASE_MVN_U8_2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_3, 2, 3 },
mvn_test_params{ CASE_MVN_U8_4, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_1, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_2, 2, 3 },
mvn_test_params{ CASE_MVN_F32_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_F32_2, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_F32_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_F32_2, 2, 3, 3 },
mvn_test_params{ CASE_MVN_F16_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_F16_2, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_F16_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_F16_2, 2, 3, 3 },
mvn_test_params{ CASE_MVN_I8_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_I8_2, 2, 3, 3 },
mvn_test_params{ CASE_MVN_I8_3, 2, 3, 3 },
mvn_test_params{ CASE_MVN_I8_4, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_I8_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_I8_2, 2, 3, 3 },
mvn_test_params{ CASE_MVN_U8_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_U8_2, 2, 3, 3 },
mvn_test_params{ CASE_MVN_U8_3, 2, 3, 3 },
mvn_test_params{ CASE_MVN_U8_4, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_U8_1, 2, 3, 3 },
mvn_test_params{ CASE_MVN_3D_U8_2, 2, 3, 3 },
}));
class mvn_scale_quantize_i8 : public MVNFusingTest {};
@ -162,18 +163,18 @@ INSTANTIATE_TEST_SUITE_P(fusings_gpu, mvn_scale_quantize_i8, ::testing::ValuesIn
// mvn_test_params{ CASE_MVN_F16_2, 2, 4 },
// mvn_test_params{ CASE_MVN_3D_F16_1, 2, 4 },
// mvn_test_params{ CASE_MVN_3D_F16_2, 2, 4 },
mvn_test_params{ CASE_MVN_I8_1, 2, 4 },
mvn_test_params{ CASE_MVN_I8_2, 2, 4 },
mvn_test_params{ CASE_MVN_I8_3, 2, 4 },
mvn_test_params{ CASE_MVN_I8_4, 2, 4 },
mvn_test_params{ CASE_MVN_3D_I8_1, 2, 4 },
mvn_test_params{ CASE_MVN_3D_I8_2, 2, 4 },
mvn_test_params{ CASE_MVN_U8_1, 2, 4 },
mvn_test_params{ CASE_MVN_U8_2, 2, 4 },
mvn_test_params{ CASE_MVN_U8_3, 2, 4 },
mvn_test_params{ CASE_MVN_U8_4, 2, 4 },
mvn_test_params{ CASE_MVN_3D_U8_1, 2, 4 },
mvn_test_params{ CASE_MVN_3D_U8_2, 2, 4 },
mvn_test_params{ CASE_MVN_I8_1, 2, 2, 4 },
mvn_test_params{ CASE_MVN_I8_2, 2, 2, 4 },
mvn_test_params{ CASE_MVN_I8_3, 2, 2, 4 },
mvn_test_params{ CASE_MVN_I8_4, 2, 2, 4 },
mvn_test_params{ CASE_MVN_3D_I8_1, 2, 2, 4 },
mvn_test_params{ CASE_MVN_3D_I8_2, 2, 2, 4 },
mvn_test_params{ CASE_MVN_U8_1, 2, 2, 4 },
mvn_test_params{ CASE_MVN_U8_2, 2, 2, 4 },
mvn_test_params{ CASE_MVN_U8_3, 2, 2, 4 },
mvn_test_params{ CASE_MVN_U8_4, 2, 2, 4 },
mvn_test_params{ CASE_MVN_3D_U8_1, 2, 2, 4 },
mvn_test_params{ CASE_MVN_3D_U8_2, 2, 2, 4 },
}));
class mvn_scale_activation_eltwise_fp32_quantize_i8 : public MVNFusingTest {};
@ -210,30 +211,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, 6 },
mvn_test_params{ CASE_MVN_I8_2, 2, 6 },
mvn_test_params{ CASE_MVN_I8_3, 2, 6 },
mvn_test_params{ CASE_MVN_I8_4, 2, 6 },
mvn_test_params{ CASE_MVN_I8_5, 2, 6 },
mvn_test_params{ CASE_MVN_I8_6, 2, 6 },
mvn_test_params{ CASE_MVN_I8_7, 3, 6 },
mvn_test_params{ CASE_MVN_3D_I8_1, 2, 6 },
mvn_test_params{ CASE_MVN_3D_I8_2, 2, 6 },
mvn_test_params{ CASE_MVN_3D_I8_3, 2, 6 },
mvn_test_params{ CASE_MVN_3D_I8_4, 2, 6 },
mvn_test_params{ CASE_MVN_3D_I8_5, 3, 6 },
mvn_test_params{ CASE_MVN_U8_1, 2, 6 },
mvn_test_params{ CASE_MVN_U8_2, 2, 6 },
mvn_test_params{ CASE_MVN_U8_3, 2, 6 },
mvn_test_params{ CASE_MVN_U8_4, 2, 6 },
mvn_test_params{ CASE_MVN_U8_5, 2, 6 },
mvn_test_params{ CASE_MVN_U8_6, 2, 6 },
mvn_test_params{ CASE_MVN_U8_7, 3, 6 },
mvn_test_params{ CASE_MVN_3D_U8_1, 2, 6 },
mvn_test_params{ CASE_MVN_3D_U8_2, 2, 6 },
mvn_test_params{ CASE_MVN_3D_U8_3, 2, 6 },
mvn_test_params{ CASE_MVN_3D_U8_4, 2, 6 },
mvn_test_params{ CASE_MVN_3D_U8_5, 3, 6 },
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 },
}));
class mvn_eltwise : public MVNFusingTest {};
@ -252,24 +253,24 @@ TEST_P(mvn_eltwise, basic) {
}
INSTANTIATE_TEST_SUITE_P(fusings_gpu, mvn_eltwise, ::testing::ValuesIn(std::vector<mvn_test_params>{
mvn_test_params{ CASE_MVN_I8_5, 2, 3 },
mvn_test_params{ CASE_MVN_I8_6, 2, 3 },
mvn_test_params{ CASE_MVN_I8_7, 3, 3 },
mvn_test_params{ CASE_MVN_3D_I8_3, 2, 3 },
mvn_test_params{ CASE_MVN_3D_I8_4, 2, 3 },
mvn_test_params{ CASE_MVN_3D_I8_5, 3, 3 },
mvn_test_params{ CASE_MVN_U8_1, 2, 3 },
mvn_test_params{ CASE_MVN_U8_2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_3, 2, 3 },
mvn_test_params{ CASE_MVN_U8_4, 2, 3 },
mvn_test_params{ CASE_MVN_U8_5, 2, 3 },
mvn_test_params{ CASE_MVN_U8_6, 2, 3 },
mvn_test_params{ CASE_MVN_U8_7, 3, 3 },
mvn_test_params{ CASE_MVN_3D_U8_1, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_3, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_4, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_5, 3, 3 },
mvn_test_params{ CASE_MVN_I8_5, 2, 2, 3 },
mvn_test_params{ CASE_MVN_I8_6, 2, 2, 3 },
mvn_test_params{ CASE_MVN_I8_7, 3, 3, 3 },
mvn_test_params{ CASE_MVN_3D_I8_3, 2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_I8_4, 2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_I8_5, 3, 3, 3 },
mvn_test_params{ CASE_MVN_U8_1, 2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_2, 2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_3, 2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_4, 2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_5, 2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_6, 2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_7, 3, 3, 3 },
mvn_test_params{ CASE_MVN_3D_U8_1, 2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_2, 2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_3, 2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_4, 2, 2, 3 },
mvn_test_params{ CASE_MVN_3D_U8_5, 3, 3, 3 },
}));
class mvn_eltwise_f16 : public MVNFusingTest {};
@ -288,6 +289,6 @@ TEST_P(mvn_eltwise_f16, basic) {
}
INSTANTIATE_TEST_SUITE_P(fusings_gpu, mvn_eltwise_f16, ::testing::ValuesIn(std::vector<mvn_test_params>{
mvn_test_params{ CASE_MVN_I8_6, 2, 3 },
mvn_test_params{ CASE_MVN_U8_2, 2, 3 },
mvn_test_params{ CASE_MVN_I8_6, 2, 2, 3 },
mvn_test_params{ CASE_MVN_U8_2, 2, 2, 3 },
}));

View File

@ -24,6 +24,7 @@ struct pooling_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;
pooling_mode pool_mode;
std::string kernel_name;
@ -163,20 +164,20 @@ TEST_P(pooling_f32_activation, basic) {
}
INSTANTIATE_TEST_SUITE_P(fusings_gpu, pooling_f32_activation, ::testing::ValuesIn(std::vector<pooling_test_params>{
pooling_test_params{ CASE_POOLING_F32_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F32_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F32_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F32_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 2, 3, pooling_mode::average, "" },
}));
class pooling_f32_scale : public PoolingFusingTest {};
@ -223,18 +224,18 @@ TEST_P(pooling_f32_scale, fp16_scale_out) {
}
INSTANTIATE_TEST_SUITE_P(fusings_gpu, pooling_f32_scale, ::testing::ValuesIn(std::vector<pooling_test_params>{
pooling_test_params{ CASE_POOLING_F32_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F32_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F32_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F32_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 3, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 2, 3, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 2, 3, pooling_mode::average, "" },
}));
class pooling_scale_activation_quantize : public PoolingFusingTest {};
@ -324,44 +325,44 @@ TEST_P(pooling_scale_activation_quantize, per_channel) {
INSTANTIATE_TEST_SUITE_P(fusings_gpu, pooling_scale_activation_quantize, ::testing::ValuesIn(std::vector<pooling_test_params>{
// Input type: FP32
pooling_test_params{ CASE_POOLING_F32_3, 2, 5, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 5, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 5, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 5, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_4, 2, 5, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_4, 2, 5, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_5, 2, 5, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_5, 2, 5, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_6, 2, 5, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_6, 2, 5, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_7, 2, 5, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_7, 2, 5, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_8, 2, 5, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_8, 2, 5, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_9, 2, 5, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_9, 2, 5, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_10, 2, 5, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_10, 2, 5, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
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" },
// Input type: INT8
pooling_test_params{ CASE_POOLING_I8_5, 2, 5, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_5, 2, 5, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_6, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_I8_6, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" },
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" },
// Input type: UINT8
pooling_test_params{ CASE_POOLING_U8_3, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 5, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 5, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_5, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_5, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_6, 2, 5, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_6, 2, 5, pooling_mode::max, "pooling_gpu_int8_ref" },
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" },
}));
INSTANTIATE_TEST_SUITE_P(DISABLED_fusings_gpu, pooling_scale_activation_quantize, ::testing::ValuesIn(std::vector<pooling_test_params>{
pooling_test_params{ CASE_POOLING_F32_3, 2, 5, pooling_mode::average, "pooling_gpu_average_opt" }, //currently not enabled, fusing not upported
pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 5, pooling_mode::average, "pooling_gpu_average_opt" },
}));
class pooling_scale_activation : public PoolingFusingTest {};
@ -411,117 +412,117 @@ TEST_P(pooling_scale_activation, eltwise_mul) {
INSTANTIATE_TEST_SUITE_P(fusings_gpu, pooling_scale_activation, ::testing::ValuesIn(std::vector<pooling_test_params>{
// Input type: F32
pooling_test_params{ CASE_POOLING_F32_3, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_4, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_4, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_5, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_5, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_6, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_6, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_7, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_7, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_8, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_8, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_9, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_9, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_10, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_10, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_4, 2, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_4, 2, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_7, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_7, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_8, 2, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_8, 2, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_9, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_9, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_10, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_10, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
// Input type: INT8
pooling_test_params{ CASE_POOLING_I8_5, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_5, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_6, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_I8_6, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_I8_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_I8_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
// Input type: UINT8
pooling_test_params{ CASE_POOLING_U8_3, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_5, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_5, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_6, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_6, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
// Input type: FP16 Output type: F32
pooling_test_params{ CASE_POOLING_F16_3, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_3, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_3, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_3, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_4, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_4, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_5, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_5, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_6, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_6, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_7, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_7, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_8, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_8, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_9, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_9, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_10, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_10, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_11, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_4, 2, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_4, 2, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_7, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_7, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_8, 2, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_8, 2, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_9, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_9, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_10, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_10, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_11, 2, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
// Input type: FP16
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_2, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_FP16_2, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_FP16_3, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_3, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_4, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_4, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_5, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_FP16_5, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_FP16_6, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_FP16_6, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_FP16_7, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_7, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_8, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_FP16_8, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_1, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_2, 2, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_FP16_2, 2, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F16_FP16_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_4, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_4, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F16_FP16_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_FP16_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_FP16_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_FP16_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F16_FP16_7, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_7, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F16_FP16_8, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F16_FP16_8, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
// Input type: FP32
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_4, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_F16_4, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_F16_5, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_5, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_6, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_6, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_7, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_F16_7, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_F16_8, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_F16_8, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_F16_9, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_9, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_10, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_F16_10, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_bfyx_block_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_4, 2, 2, 4, pooling_mode::average, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_F16_4, 2, 2, 4, pooling_mode::max, "pooling_gpu_fs_b_yx_fsv32" },
pooling_test_params{ CASE_POOLING_F32_F16_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_padding_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_byxf_opt" },
pooling_test_params{ CASE_POOLING_F32_F16_7, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_F16_7, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_F16_8, 2, 2, 4, pooling_mode::average, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_F16_8, 2, 2, 4, pooling_mode::max, "pooling_gpu_blocked" },
pooling_test_params{ CASE_POOLING_F32_F16_9, 2, 2, 4, pooling_mode::average, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_9, 2, 2, 4, pooling_mode::max, "pooling_gpu_ref" },
pooling_test_params{ CASE_POOLING_F32_F16_10, 2, 2, 4, pooling_mode::average, "pooling_gpu_bsv16_fsv16" },
pooling_test_params{ CASE_POOLING_F32_F16_10, 2, 2, 4, pooling_mode::max, "pooling_gpu_bsv16_fsv16" },
// Input type: INT8
pooling_test_params{ CASE_POOLING_I8_FP16_5, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_FP16_5, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_FP16_6, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_I8_FP16_6, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_I8_FP16_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_FP16_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_I8_FP16_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_I8_FP16_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
// Input type: UINT8
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_FP16_5, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_5, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_6, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_6, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 2, 4, pooling_mode::average, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_FP16_3, 2, 2, 4, pooling_mode::max, "pooling_gpu_b_fs_yx_fsv4" },
pooling_test_params{ CASE_POOLING_U8_FP16_5, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_5, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_6, 2, 2, 4, pooling_mode::average, "pooling_gpu_int8_ref" },
pooling_test_params{ CASE_POOLING_U8_FP16_6, 2, 2, 4, pooling_mode::max, "pooling_gpu_int8_ref" },
}));
#ifdef ENABLE_ONEDNN_FOR_GPU
@ -624,18 +625,18 @@ TEST_P(pooling_onednn_activation2, basic) {
}
INSTANTIATE_TEST_SUITE_P(fusings_gpu, pooling_onednn_activation1, ::testing::ValuesIn(std::vector<pooling_test_params>{
// pooling_test_params{ CASE_POOLING_F32_1, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F16_1, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 2, pooling_mode::max, "" },
// pooling_test_params{ CASE_POOLING_F32_1, CASE_POOLING_F32_1, 2, 2, pooling_mode::max, ""
pooling_test_params{ CASE_POOLING_F16_1, 2, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_1, 2, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_U8_2, 2, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_1, 2, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_I8_2, 2, 2, 2, pooling_mode::max, "" },
}));
INSTANTIATE_TEST_SUITE_P(fusings_gpu, pooling_onednn_activation2, ::testing::ValuesIn(std::vector<pooling_test_params>{
pooling_test_params{ CASE_POOLING_F32_11, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F32_11, 2, 2, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F32_11, 2, 2, pooling_mode::average_no_padding, "" },
pooling_test_params{ CASE_POOLING_F32_11, 2, 2, 2, pooling_mode::max, "" },
pooling_test_params{ CASE_POOLING_F32_11, 2, 2, 2, pooling_mode::average, "" },
pooling_test_params{ CASE_POOLING_F32_11, 2, 2, 2, pooling_mode::average_no_padding, "" },
}));
#endif