From 26a20e587567532cdf2789c7609db91a6f9f06a9 Mon Sep 17 00:00:00 2001 From: Luo Cheng Date: Mon, 23 May 2022 09:48:50 +0800 Subject: [PATCH] testcase for conv brgconv avx512/amx --- .../cpu/single_layer_tests/convolution.cpp | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/tests/functional/plugin/cpu/single_layer_tests/convolution.cpp b/src/tests/functional/plugin/cpu/single_layer_tests/convolution.cpp index 9e93dfc0d34..f7b1e975baf 100755 --- a/src/tests/functional/plugin/cpu/single_layer_tests/convolution.cpp +++ b/src/tests/functional/plugin/cpu/single_layer_tests/convolution.cpp @@ -252,6 +252,21 @@ TEST_P(ConvolutionLayerCPUTest, CompareWithRefs) { namespace { +std::vector filterCPUInfoForDevice_BF16(std::vector allParams) { + std::vector specificParams; + bool with_bf16 = with_cpu_x86_bfloat16(); + std::copy_if(allParams.begin(), allParams.end(), std::back_inserter(specificParams), [with_bf16](const CPUSpecificParams& item) { + const auto &selected = std::get<3>(item); + // when no bf16 hardware brgconv will not work + if (!with_bf16 && selected.find("brgconv") != std::string::npos) { + return false; + } + return true; + }); + + return filterCPUInfoForDevice(specificParams); +} + /* COMMON PARAMS */ const std::vector fusingParamsSet{ emptyFusingSpec, @@ -815,7 +830,7 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_1D_BF16, ConvolutionLayerCPUTest, ::testing::Values(ElementType::undefined), ::testing::ValuesIn(inputShapes1d), ::testing::Values(CommonTestUtils::DEVICE_CPU)), - ::testing::ValuesIn(filterCPUInfoForDevice({conv_avx512_1D, + ::testing::ValuesIn(filterCPUInfoForDevice_BF16({conv_avx512_1D, conv_avx512_1D_nspc_brgconv, conv_avx512_1D_nspc_brgconv_amx})), // todo: [AV] what about conv_avx512_1D_nspc? ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)), @@ -977,7 +992,7 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_2D_BF16, ConvolutionLayerCPUTest, ::testing::Values(ElementType::undefined), ::testing::ValuesIn(inputShapes2d), ::testing::Values(CommonTestUtils::DEVICE_CPU)), - ::testing::ValuesIn(filterCPUInfoForDevice({conv_avx512_2D, conv_avx512_2D_nspc, + ::testing::ValuesIn(filterCPUInfoForDevice_BF16({conv_avx512_2D, conv_avx512_2D_nspc, conv_avx512_2D_nspc_brgconv, conv_avx512_2D_nspc_brgconv_amx})), ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)), @@ -1020,7 +1035,7 @@ INSTANTIATE_TEST_SUITE_P(Conv_2D_BF16_dilated, ConvolutionLayerCPUTest, ::testing::Values(ElementType::undefined), ::testing::ValuesIn(inputShapes2d), ::testing::Values(CommonTestUtils::DEVICE_CPU)), - ::testing::ValuesIn(filterCPUInfoForDevice({conv_avx512_2D, conv_avx512_2D_nspc, + ::testing::ValuesIn(filterCPUInfoForDevice_BF16({conv_avx512_2D, conv_avx512_2D_nspc, conv_avx512_2D_nspc_brgconv, conv_avx512_2D_nspc_brgconv_amx})), ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)), @@ -1214,7 +1229,7 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_3D_BF16, ConvolutionLayerCPUTest, ::testing::Values(ElementType::undefined), ::testing::ValuesIn(inputShapes3d), ::testing::Values(CommonTestUtils::DEVICE_CPU)), - ::testing::ValuesIn(filterCPUInfoForDevice({conv_avx512_3D, conv_avx512_3D_nspc, + ::testing::ValuesIn(filterCPUInfoForDevice_BF16({conv_avx512_3D, conv_avx512_3D_nspc, conv_avx512_3D_nspc_brgconv, conv_avx512_3D_nspc_brgconv_amx})), ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)), @@ -1257,7 +1272,7 @@ INSTANTIATE_TEST_SUITE_P(Conv_3D_BF16_dilated, ConvolutionLayerCPUTest, ::testing::Values(ElementType::undefined), ::testing::ValuesIn(inputShapes3d), ::testing::Values(CommonTestUtils::DEVICE_CPU)), - ::testing::ValuesIn(filterCPUInfoForDevice({conv_avx512_3D, conv_avx512_3D_nspc, + ::testing::ValuesIn(filterCPUInfoForDevice_BF16({conv_avx512_3D, conv_avx512_3D_nspc, conv_avx512_3D_nspc_brgconv, conv_avx512_3D_nspc_brgconv_amx})), ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)), @@ -1383,7 +1398,7 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_1D_1x1_BF16, ConvolutionLayerCPUTest, ::testing::Values(ElementType::undefined), ::testing::ValuesIn(inputShapes1d), ::testing::Values(CommonTestUtils::DEVICE_CPU)), - ::testing::ValuesIn(filterCPUInfoForDevice({conv_avx512_1D_1x1, conv_avx512_2D_1x1_nspc, + ::testing::ValuesIn(filterCPUInfoForDevice_BF16({conv_avx512_1D_1x1, conv_avx512_2D_1x1_nspc, conv_avx512_1D_1x1_nspc_brgconv, conv_avx512_1D_1x1_nspc_brgconv_amx})), ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)), @@ -1448,7 +1463,7 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_2D_1x1_BF16, ConvolutionLayerCPUTest, ::testing::Values(ElementType::undefined), ::testing::ValuesIn(inputShapes2d), ::testing::Values(CommonTestUtils::DEVICE_CPU)), - ::testing::ValuesIn(filterCPUInfoForDevice({conv_avx512_2D_1x1, conv_avx512_2D_1x1_nspc, + ::testing::ValuesIn(filterCPUInfoForDevice_BF16({conv_avx512_2D_1x1, conv_avx512_2D_1x1_nspc, conv_avx512_2D_1x1_nspc_brgconv, conv_avx512_2D_1x1_nspc_brgconv_amx})), ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)),