From a98f871fe44e6bb9e6cac92100d075cb7b1493fd Mon Sep 17 00:00:00 2001 From: kswang Date: Tue, 3 Nov 2020 09:39:15 +0800 Subject: [PATCH] optimize internaloutput for const-input-to-tensor pass --- .../optimizer/pass/convert_const_input_to_tensor_input.cc | 3 +++ mindspore/ccsrc/backend/session/kernel_graph.cc | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mindspore/ccsrc/backend/optimizer/pass/convert_const_input_to_tensor_input.cc b/mindspore/ccsrc/backend/optimizer/pass/convert_const_input_to_tensor_input.cc index 7abcd586eb..596dfb5307 100644 --- a/mindspore/ccsrc/backend/optimizer/pass/convert_const_input_to_tensor_input.cc +++ b/mindspore/ccsrc/backend/optimizer/pass/convert_const_input_to_tensor_input.cc @@ -92,6 +92,9 @@ AnfNodePtr ConstInputToTensorInput(const FuncGraphPtr &func_graph, const CNodePt new_cnode->set_abstract(cnode->abstract()); new_cnode->set_scope(cnode->scope()); AnfAlgo::CopyNodeAttrs(cnode, new_cnode); + if (kernel_graph != nullptr) { + kernel_graph->FrontBackendlMapUpdate(cnode, new_cnode); + } return new_cnode; } return nullptr; diff --git a/mindspore/ccsrc/backend/session/kernel_graph.cc b/mindspore/ccsrc/backend/session/kernel_graph.cc index 2a57707a7d..2abbd655ef 100644 --- a/mindspore/ccsrc/backend/session/kernel_graph.cc +++ b/mindspore/ccsrc/backend/session/kernel_graph.cc @@ -474,9 +474,6 @@ CNodePtr KernelGraph::NewCNode(const CNodePtr &cnode) { FrontBackendlMapUpdate(cnode, new_cnode); } AnfAlgo::SetGraphId(graph_id_, cnode.get()); - if (IsInternalOutput(cnode)) { - ReplaceInternalOutput(cnode, new_cnode); - } return new_cnode; } @@ -656,6 +653,9 @@ void KernelGraph::FrontBackendlMapUpdate(const AnfNodePtr &old_backend_anf, cons if (front_backend_anf_map_.find(backend_front_anf_map_[old_backend_anf]) == front_backend_anf_map_.end()) { MS_LOG(EXCEPTION) << "Anf is not exist in the map ,old " << old_backend_anf->DebugString(); } + if (IsInternalOutput(old_backend_anf)) { + ReplaceInternalOutput(old_backend_anf, new_backend_anf); + } front_backend_anf_map_[backend_front_anf_map_[old_backend_anf]] = new_backend_anf; backend_front_anf_map_[new_backend_anf] = backend_front_anf_map_[old_backend_anf]; // delete old kernel