From 1a51d1cac090e08e08e20aedb016dd610eb88c09 Mon Sep 17 00:00:00 2001 From: Vladislav Golubev Date: Thu, 29 Sep 2022 15:42:05 +0200 Subject: [PATCH] [CPU] Fixes for static postops after dynamic convolutions (#13260) --- src/plugins/intel_cpu/src/nodes/conv.cpp | 2 +- src/plugins/intel_cpu/src/nodes/reorder.cpp | 2 +- .../subgraph_tests/src/conv_sum_broadcast.cpp | 16 ++++++++++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/plugins/intel_cpu/src/nodes/conv.cpp b/src/plugins/intel_cpu/src/nodes/conv.cpp index 8b76ea9bc23..15efeb74ffe 100644 --- a/src/plugins/intel_cpu/src/nodes/conv.cpp +++ b/src/plugins/intel_cpu/src/nodes/conv.cpp @@ -1493,7 +1493,7 @@ void Convolution::redefineOutputMemory(const std::vector &newOutputS MemoryDescPtr Convolution::getSumMemDesc(primitive_desc_iterator &primitive_desc_it) { if (getOutputShapeAtPort(0).isDynamic()) { - return DnnlExtensionUtils::makeUndefinedDesc(primitive_desc_it.dst_desc(0), getInputShapeAtPort(getParentEdges().size() - 1)); + return DnnlExtensionUtils::makeUndefinedDesc(primitive_desc_it.dst_desc(0), getOutputShapeAtPort(0)); } return DnnlExtensionUtils::makeDescriptor(primitive_desc_it.dst_desc(0)); } diff --git a/src/plugins/intel_cpu/src/nodes/reorder.cpp b/src/plugins/intel_cpu/src/nodes/reorder.cpp index b9314c0499f..1295590390f 100644 --- a/src/plugins/intel_cpu/src/nodes/reorder.cpp +++ b/src/plugins/intel_cpu/src/nodes/reorder.cpp @@ -128,7 +128,7 @@ void Reorder::initSupportedPrimitiveDescriptors() { } void Reorder::createPrimitive() { - if (inputShapesDefined()) { + if (shapesDefined()) { if (needPrepareParams()) prepareParams(); updateLastInputDims(); diff --git a/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp b/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp index 5a69de566a5..89410937fd7 100644 --- a/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp +++ b/src/plugins/intel_cpu/tests/functional/subgraph_tests/src/conv_sum_broadcast.cpp @@ -321,7 +321,8 @@ InputShape convInpShape = { } }; -InputShape secondInp = { +const std::vector secondInp = { + { //dynamic shapes {-1, -1, -1, -1}, { //target static shapes @@ -331,12 +332,19 @@ InputShape secondInp = { {1, 64, 8, 8}, {1, 64, 8, 1} } + }, + { + {1, 64, 8, 8}, + { + {1, 64, 8, 8} + } + }, }; INSTANTIATE_TEST_SUITE_P(smoke_Conv_Sum_Broadcast_FP32, ConcatConvSumInPlaceTest, ::testing::Combine( ::testing::Values(convInpShape), - ::testing::Values(secondInp), + ::testing::ValuesIn(secondInp), ::testing::Values(true, false), ::testing::ValuesIn(fusingParamsSet), ::testing::Values(cpuEmptyPluginConfig)), @@ -345,7 +353,7 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_Sum_Broadcast_FP32, ConcatConvSumInPlaceTest INSTANTIATE_TEST_SUITE_P(smoke_Conv_Sum_Broadcast_BF16, ConcatConvSumInPlaceTest, ::testing::Combine( ::testing::Values(convInpShape), - ::testing::Values(secondInp), + ::testing::ValuesIn(secondInp), ::testing::Values(true, false), ::testing::ValuesIn(fusingParamsSetBF16), ::testing::Values(cpuBF16PluginConfig)), @@ -354,7 +362,7 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_Sum_Broadcast_BF16, ConcatConvSumInPlaceTest INSTANTIATE_TEST_SUITE_P(smoke_Conv_Sum_Broadcast_INT8, ConcatConvSumInPlaceTestInt8, ::testing::Combine( ::testing::Values(convInpShape), - ::testing::Values(secondInp), + ::testing::ValuesIn(secondInp), ::testing::Values(true, false), ::testing::ValuesIn(fusingParamsSet), ::testing::Values(cpuEmptyPluginConfig)),