diff --git a/src/plugins/intel_cpu/src/nodes/conv.cpp b/src/plugins/intel_cpu/src/nodes/conv.cpp index da9d6fc3b1d..5b42df7df62 100644 --- a/src/plugins/intel_cpu/src/nodes/conv.cpp +++ b/src/plugins/intel_cpu/src/nodes/conv.cpp @@ -1504,7 +1504,7 @@ void Convolution::executeDynamicImpl(dnnl::stream strm) { auto out = subgraph->getOutput(0); const auto& outMem = out->getParentEdgesAtPort(0).front()->getMemory(); auto convOutMem = getChildEdgesAtPort(0).front()->getMemoryPtr(); - convOutMem->redefineDesc(getBaseMemDescAtOutputPort(0)->cloneWithNewDims(outMem.getStaticDims())); + Node::redefineOutputMemory({outMem.getStaticDims()}); convOutMem->SetData(outMem); } } 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 c20594041d0..6199fa266f3 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 @@ -219,6 +219,25 @@ TEST_P(ConcatConvSumInPlaceTestInt8, CompareWithRefs) { CheckPluginRelatedResults(compiledModel, "Convolution"); } +class ConcatConvSumInPlaceTestSeveralConsumers : public ConcatConvSumInPlaceTest { +public: + std::shared_ptr addSum(std::shared_ptr lastNode, const ngraph::ParameterVector& inputParams) override { + auto sum = std::make_shared(lastNode, inputParams[1]); + fusedOps.insert(fusedOps.begin(), "Add"); + + auto shapeOf = std::make_shared(sum); + return std::make_shared(sum, shapeOf, true); + } +}; + +TEST_P(ConcatConvSumInPlaceTestSeveralConsumers, CompareWithRefs) { + SKIP_IF_CURRENT_TEST_IS_DISABLED() + + run(); + + CheckPluginRelatedResults(compiledModel, "Convolution"); +} + namespace { const auto fusingMulAddFQMullAdd = fusingSpecificParams{ std::make_shared(std::vector{ {[](postNodeConfig& cfg) { @@ -368,5 +387,14 @@ INSTANTIATE_TEST_SUITE_P(smoke_Conv_Sum_Broadcast_INT8, ConcatConvSumInPlaceTest ::testing::Values(cpuEmptyPluginConfig)), ConcatConvSumInPlaceTest::getTestCaseName); +INSTANTIATE_TEST_SUITE_P(smoke_Conv_Sum_Broadcast_Several_Consumers, ConcatConvSumInPlaceTestSeveralConsumers, + ::testing::Combine( + ::testing::Values(convInpShape), + ::testing::ValuesIn(secondInp), + ::testing::Values(true), + ::testing::Values(emptyFusingSpec), + ::testing::Values(cpuEmptyPluginConfig)), + ConcatConvSumInPlaceTest::getTestCaseName); + } // namespace } // namespace SubgraphTestsDefinitions