diff --git a/mindspore/ccsrc/backend/session/gpu_session.cc b/mindspore/ccsrc/backend/session/gpu_session.cc index 45f94f51f6..34fdd6bbdb 100644 --- a/mindspore/ccsrc/backend/session/gpu_session.cc +++ b/mindspore/ccsrc/backend/session/gpu_session.cc @@ -498,6 +498,9 @@ void GPUSession::RunOpImpl(const GraphInfo &graph_info, OpRunInfo *op_run_info, UpdateOutputAbstract(kernel_graph, op_run_info); } RunOpClearMemory(kernel_graph.get()); + if (kOpCacheAllowList.find(op_run_info->op_name) != kOpCacheAllowList.end()) { + run_op_graphs_.erase(graph_info); + } } void GPUSession::Dump(const std::shared_ptr &kernel_graph) const { diff --git a/mindspore/ccsrc/utils/utils.h b/mindspore/ccsrc/utils/utils.h index d259352443..22681b31c3 100644 --- a/mindspore/ccsrc/utils/utils.h +++ b/mindspore/ccsrc/utils/utils.h @@ -60,6 +60,7 @@ constexpr auto kFusedBatchNormGradExWithAddAndActivation = "FusedBatchNormGradEx constexpr auto kClearZeroOpName = "ClearZero"; constexpr auto kAtomicAddrCleanOpName = "AtomicAddrClean"; constexpr auto kGetNextOpName = "GetNext"; +constexpr auto kInitDatasetQueueOpName = "InitDataSetQueue"; constexpr auto kEndOfSequence = "EndOfSequence"; constexpr auto kAllReduceOpName = "AllReduce"; constexpr auto kAllGatherOpName = "AllGather"; @@ -507,7 +508,8 @@ const std::set kOptOperatorSet = {kMomentumOpName, const std::set kPosteriorOperatorSet = {kPullOpName}; -const std::set kOpCacheAllowList = {kUniformCandidateSamplerOpName}; +const std::set kOpCacheAllowList = {kUniformCandidateSamplerOpName, kInitDatasetQueueOpName, + kGetNextOpName}; const std::set kHWSpecialFormatSet = { kOpFormat_FRACTAL_Z_3D, kOpFormat_NC1KHKWHWC0, kOpFormat_NC1HWC0, kOpFormat_FRAC_NZ, kOpFormat_C1HWNCoC0,