From 0bac48d5baa2f9aa3d3e2e957fad0c8df90fcb60 Mon Sep 17 00:00:00 2001 From: Vladimir Paramuzov Date: Fri, 14 May 2021 12:12:04 +0300 Subject: [PATCH] [IE CLDNN] Disable blobs reuse if shapes differ (#5567) --- inference-engine/src/cldnn_engine/cldnn_program.h | 3 ++- inference-engine/src/cldnn_engine/ops/constant.cpp | 5 +++-- inference-engine/src/cldnn_engine/ops/parameter.cpp | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/inference-engine/src/cldnn_engine/cldnn_program.h b/inference-engine/src/cldnn_engine/cldnn_program.h index d8abfd433d4..d741e94580a 100644 --- a/inference-engine/src/cldnn_engine/cldnn_program.h +++ b/inference-engine/src/cldnn_engine/cldnn_program.h @@ -90,7 +90,8 @@ public: std::map outputDims; std::map inputLayouts; - std::map blobMemCache; + using BlobCacheKey = std::pair>; + std::map blobMemCache; int m_max_batch; int m_curBatch; diff --git a/inference-engine/src/cldnn_engine/ops/constant.cpp b/inference-engine/src/cldnn_engine/ops/constant.cpp index 6c5ebc31775..e8630f67a6b 100644 --- a/inference-engine/src/cldnn_engine/ops/constant.cpp +++ b/inference-engine/src/cldnn_engine/ops/constant.cpp @@ -163,7 +163,8 @@ void CreateConstantOp(Program& p, const std::shared_ptrget_data_ptr(); - auto bufIter = p.blobMemCache.find(data); + + auto bufIter = p.blobMemCache.find(std::make_pair(data, constDims)); if (bufIter != p.blobMemCache.end()) { constPrimID = bufIter->second; @@ -198,7 +199,7 @@ void CreateConstantOp(Program& p, const std::shared_ptr(meanBlobPtr->buffer()); - auto bufIter = p.blobMemCache.find(data); + auto bufIter = p.blobMemCache.find(std::make_pair(data, meanDims)); if (bufIter != p.blobMemCache.end()) { meanBlobID = bufIter->second; } else { @@ -166,7 +166,7 @@ void CreateParameterOp(Program& p, const std::shared_ptr