[GPU] Fix skipped GemmBaseTests in iGPU. (#18001)
* [GPU] Fix skipped GemmBaseTests in iGPU. Current GemmBaseTests in iGPU are skipped, just showed pass, but actual not run. Signed-off-by: hyunback <hyunback.kim@intel.com>
This commit is contained in:
parent
731ef78608
commit
bcd2463813
@ -1042,7 +1042,7 @@ struct gemm_base_test_params {
|
||||
#define CASE_GEMM_FP32_COMBO_ONEDNN_4 61, 1, 99, 1, 1, 2, 2, 2, 2, 2, 2, true, true, \
|
||||
1.0f, 1.0f, data_types::f32, data_types::f32, data_types::f32, data_types::f32, { -128, 127, 1 }, { -128, 127, 1 }, { -10, 10, 8 }
|
||||
|
||||
#else // ENABLE_ONEDNN_FOR_GPU
|
||||
#endif // ENABLE_ONEDNN_FOR_GPU
|
||||
|
||||
#define CASE_GEMM_INT8_NN_TRANSPOSITION 64, 64, 64, 1, 2, 1, 2, 1, 2, 1, 2, false, false, \
|
||||
1.5f, 2.0f, data_types::i8, data_types::u8, data_types::f32, data_types::f32, { -128, 127, 1 }, { 0, 255, 1 }, { -10, 10, 8 }
|
||||
@ -1195,11 +1195,12 @@ struct gemm_base_test_params {
|
||||
#define CASE_GEMM_FP16_TILED_NN_BROADCAST_4 8, 8, 8, 1, 1, 2, 2, 2, 2, 2, 2, false, false, \
|
||||
1.0f, 4.0f, data_types::f16, data_types::f16, data_types::f16, data_types::f16, { -1, 1, 1 }, { -1, 1, 1 }, { -1, 1, 1 }
|
||||
|
||||
#endif // ENABLE_ONEDNN_FOR_GPU
|
||||
|
||||
template <typename gemm_params, typename input0_type, typename input1_type, typename input2_type, typename output_type, typename accumulator_type>
|
||||
class GemmBaseTest : public ::testing::TestWithParam<gemm_params> {
|
||||
public:
|
||||
virtual ov::intel_gpu::ImplementationDesc getImplementationDesc(gemm_params& p) {
|
||||
return { format::bfyx, p.kernel_name };
|
||||
}
|
||||
|
||||
inline size_t getGemmIndex(size_t x, size_t y, size_t f, size_t b, size_t x_size, size_t y_size, size_t f_num, size_t b_num,
|
||||
size_t x_pitch, size_t y_pitch, size_t f_pitch, size_t b_pitch) {
|
||||
@ -1207,9 +1208,6 @@ public:
|
||||
}
|
||||
|
||||
void execute(gemm_params& p, bool is_caching_test = false) {
|
||||
auto& engine = get_test_engine();
|
||||
if (!engine.get_device_info().supports_immad)
|
||||
return;
|
||||
auto y0_size = p.m_size;
|
||||
auto y0_pitch = p.k_size;
|
||||
auto x0_size = p.k_size;
|
||||
@ -1252,6 +1250,7 @@ public:
|
||||
x1_pitch = 1;
|
||||
}
|
||||
|
||||
auto& engine = get_test_engine();
|
||||
auto input0_size = tensor((int)p.b0_num, (int)p.f0_num, (int)x0_size, (int)y0_size);
|
||||
VVVVF<input0_type> input0_data = generate_random_4d<input0_type>(p.b0_num, p.f0_num, x0_size, y0_size, p.range0[0], p.range0[1], p.range0[2]);
|
||||
auto input0_data_bfyx = flatten_4d(format::bfyx, input0_data);
|
||||
@ -1309,11 +1308,7 @@ public:
|
||||
}
|
||||
topology.add(reorder("reorder_bfyx", input_info("gemm_bfyx"), format::bfyx, data_types::f32));
|
||||
|
||||
#ifdef ENABLE_ONEDNN_FOR_GPU
|
||||
ov::intel_gpu::ImplementationDesc gemm_impl = { format::bfyx, "", impl_types::onednn };
|
||||
#else
|
||||
ov::intel_gpu::ImplementationDesc gemm_impl = { format::bfyx, p.kernel_name };
|
||||
#endif
|
||||
ov::intel_gpu::ImplementationDesc gemm_impl = getImplementationDesc(p);
|
||||
|
||||
ExecutionConfig cfg = get_test_default_config(engine);
|
||||
cfg.set_property(ov::intel_gpu::force_implementations(ov::intel_gpu::ImplForcingMap{ {"gemm_bfyx", gemm_impl} }));
|
||||
@ -1554,7 +1549,22 @@ TEST(gemm_onednn, impl_replacement_with_cldnn) {
|
||||
ASSERT_FALSE(impl->is_dynamic());
|
||||
}
|
||||
|
||||
class gemm_int8_simple_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
template <typename gemm_params, typename input0_type, typename input1_type, typename input2_type, typename output_type, typename accumulator_type>
|
||||
class GemmBaseOneDNNTest : public ::GemmBaseTest<gemm_params, input0_type, input1_type, input2_type, output_type, accumulator_type> {
|
||||
public:
|
||||
virtual ov::intel_gpu::ImplementationDesc getImplementationDesc(gemm_params& p) {
|
||||
return { format::bfyx, "", impl_types::onednn };
|
||||
}
|
||||
|
||||
void execute(gemm_params& p, bool is_caching_test = false) {
|
||||
auto& engine = get_test_engine();
|
||||
if (!engine.get_device_info().supports_immad)
|
||||
return;
|
||||
GemmBaseTest<gemm_params, input0_type, input1_type, input2_type, output_type, accumulator_type>::execute(p, is_caching_test);
|
||||
}
|
||||
};
|
||||
|
||||
class gemm_int8_simple_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_int8_simple_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_simple_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1564,7 +1574,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_simple_tests_onednn, ::testing::Val
|
||||
gemm_base_test_params{ CASE_GEMM_INT8_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_uint8_simple_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, uint8_t, int8_t, float, float, int32_t> {};
|
||||
class gemm_uint8_simple_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, uint8_t, int8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_uint8_simple_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_uint8_simple_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1574,7 +1584,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_uint8_simple_tests_onednn, ::testing::Va
|
||||
gemm_base_test_params{ CASE_GEMM_UINT8_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp16_simple_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
class gemm_fp16_simple_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
TEST_P(gemm_fp16_simple_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_simple_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1584,7 +1594,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_simple_tests_onednn, ::testing::Val
|
||||
gemm_base_test_params{ CASE_GEMM_FP16_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp32_simple_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, float, float, float, float, float> {};
|
||||
class gemm_fp32_simple_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, float, float, float, float, float> {};
|
||||
TEST_P(gemm_fp32_simple_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_simple_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1594,7 +1604,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_simple_tests_onednn, ::testing::Val
|
||||
gemm_base_test_params{ CASE_GEMM_FP32_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_int8_transposition_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
class gemm_int8_transposition_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_int8_transposition_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_transposition_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1609,7 +1619,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_transposition_tests_onednn, ::testi
|
||||
gemm_base_test_params{ CASE_GEMM_INT8_TT_TRANSPOSITION_LEFTOVERS_ONEDNN, "" },
|
||||
}));
|
||||
|
||||
class gemm_uint8_transposition_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, uint8_t, int8_t, float, float, int32_t> {};
|
||||
class gemm_uint8_transposition_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, uint8_t, int8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_uint8_transposition_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_uint8_transposition_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1624,7 +1634,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_uint8_transposition_tests_onednn, ::test
|
||||
gemm_base_test_params{ CASE_GEMM_UINT8_TT_TRANSPOSITION_LEFTOVERS_ONEDNN, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp16_transposition_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
class gemm_fp16_transposition_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
TEST_P(gemm_fp16_transposition_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_transposition_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1634,7 +1644,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_transposition_tests_onednn, ::testi
|
||||
gemm_base_test_params{ CASE_GEMM_FP16_TT_TRANSPOSITION_ONEDNN, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp32_transposition_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, float, float, float, float, float> {};
|
||||
class gemm_fp32_transposition_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, float, float, float, float, float> {};
|
||||
TEST_P(gemm_fp32_transposition_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_transposition_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1644,7 +1654,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_transposition_tests_onednn, ::testi
|
||||
gemm_base_test_params{ CASE_GEMM_FP32_TT_TRANSPOSITION_ONEDNN, "" },
|
||||
}));
|
||||
|
||||
class gemm_int8_broadcasting_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
class gemm_int8_broadcasting_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_int8_broadcasting_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_broadcasting_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1654,7 +1664,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_broadcasting_tests_onednn, ::testin
|
||||
gemm_base_test_params{ CASE_GEMM_INT8_BROADCASTING_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp16_broadcasting_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
class gemm_fp16_broadcasting_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
TEST_P(gemm_fp16_broadcasting_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_broadcasting_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1664,7 +1674,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_broadcasting_tests_onednn, ::testin
|
||||
gemm_base_test_params{ CASE_GEMM_FP16_BROADCASTING_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp32_broadcasting_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, float, float, float, float, int32_t> {};
|
||||
class gemm_fp32_broadcasting_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, float, float, float, float, int32_t> {};
|
||||
TEST_P(gemm_fp32_broadcasting_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_broadcasting_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1674,7 +1684,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_broadcasting_tests_onednn, ::testin
|
||||
gemm_base_test_params{ CASE_GEMM_FP32_BROADCASTING_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_int8_combo_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
class gemm_int8_combo_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, int8_t, int8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_int8_combo_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_combo_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1684,7 +1694,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_int8_combo_tests_onednn, ::testing::Valu
|
||||
gemm_base_test_params{ CASE_GEMM_INT8_COMBO_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_uint8_combo_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, uint8_t, int8_t, float, float, int32_t> {};
|
||||
class gemm_uint8_combo_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, uint8_t, int8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_uint8_combo_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_uint8_combo_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1694,7 +1704,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_uint8_combo_tests_onednn, ::testing::Val
|
||||
gemm_base_test_params{ CASE_GEMM_UINT8_COMBO_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp16_combo_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
class gemm_fp16_combo_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, FLOAT16, FLOAT16, FLOAT16, FLOAT16, FLOAT16> {};
|
||||
TEST_P(gemm_fp16_combo_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_combo_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1704,7 +1714,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_combo_tests_onednn, ::testing::Valu
|
||||
gemm_base_test_params{ CASE_GEMM_FP16_COMBO_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
class gemm_fp32_combo_tests_onednn : public ::GemmBaseTest<gemm_base_test_params, float, float, float, float, float> {};
|
||||
class gemm_fp32_combo_tests_onednn : public ::GemmBaseOneDNNTest<gemm_base_test_params, float, float, float, float, float> {};
|
||||
TEST_P(gemm_fp32_combo_tests_onednn, basic) { auto p = GetParam(); execute(p); }
|
||||
|
||||
INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_combo_tests_onednn, ::testing::ValuesIn(std::vector <gemm_base_test_params> {
|
||||
@ -1714,7 +1724,7 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp32_combo_tests_onednn, ::testing::Valu
|
||||
gemm_base_test_params{ CASE_GEMM_FP32_COMBO_ONEDNN_4, "" },
|
||||
}));
|
||||
|
||||
#else // ENABLE_ONEDNN_FOR_GPU
|
||||
#endif // ENABLE_ONEDNN_FOR_GPU
|
||||
|
||||
class gemm_int8_transposition_tests : public ::GemmBaseTest<gemm_base_test_params, int8_t, uint8_t, float, float, int32_t> {};
|
||||
TEST_P(gemm_int8_transposition_tests, basic) { auto p = GetParam(); execute(p); }
|
||||
@ -1874,8 +1884,6 @@ INSTANTIATE_TEST_SUITE_P(gemm_gpu, gemm_fp16_tiled_nn_broadcast_tests, ::testing
|
||||
gemm_base_test_params{ CASE_GEMM_FP16_TILED_NN_BROADCAST_4, "gemm_tiled_opt" },
|
||||
}));
|
||||
|
||||
#endif // ENABLE_ONEDNN_FOR_GPU
|
||||
|
||||
#ifdef RUN_ALL_MODEL_CACHING_TESTS
|
||||
TEST_P(GemmGPUTest, basic_cached) {
|
||||
ASSERT_NO_FATAL_FAILURE(test(true));
|
||||
@ -1901,7 +1909,8 @@ TEST_P(gemm_int8_combo_tests_onednn, basic_cached) { auto p = GetParam(); execut
|
||||
TEST_P(gemm_uint8_combo_tests_onednn, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
TEST_P(gemm_fp16_combo_tests_onednn, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
TEST_P(gemm_fp32_combo_tests_onednn, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
#else
|
||||
#endif // ENABLE_ONEDNN_FOR_GPU
|
||||
|
||||
TEST_P(gemm_int8_transposition_tests, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
TEST_P(gemm_int8_broadcast_tests, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
TEST_P(gemm_int8_leftovers_tests, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
@ -1917,7 +1926,7 @@ TEST_P(gemm_fp16_tiled_nt_tests, basic_cached) { auto p = GetParam(); execute(p,
|
||||
TEST_P(gemm_fp16_tiled_tn_tests, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
TEST_P(gemm_fp16_tiled_tt_tests, basic_cached) { auto p = GetParam(); execute(p, true); }
|
||||
TEST_P(gemm_fp16_tiled_nn_broadcast_tests, basic_cached) { auto p = GetParam(); execute(p); }
|
||||
#endif // ENABLE_ONEDNN_FOR_GPU
|
||||
|
||||
#endif // RUN_ALL_MODEL_CACHING_TESTS
|
||||
TEST(gemm_gpu, basic_bfyx_t2_inplace_crop_with_pad_cached) {
|
||||
test_basic_bfyx_t2_inplace_crop_with_pad<float>(true);
|
||||
|
Loading…
Reference in New Issue
Block a user