From df04230e13878abdace99ece37403b83412d0988 Mon Sep 17 00:00:00 2001 From: lizhenyu Date: Fri, 29 May 2020 20:53:50 +0800 Subject: [PATCH] fix get nullptr when use graph manager --- mindspore/ccsrc/pre_activate/mem_reuse/mem_swap_manager.cc | 1 + mindspore/ccsrc/session/session_basic.cc | 1 + mindspore/ccsrc/session/session_context.h | 2 ++ 3 files changed, 4 insertions(+) diff --git a/mindspore/ccsrc/pre_activate/mem_reuse/mem_swap_manager.cc b/mindspore/ccsrc/pre_activate/mem_reuse/mem_swap_manager.cc index 75c440b7b37..c41eacc3347 100644 --- a/mindspore/ccsrc/pre_activate/mem_reuse/mem_swap_manager.cc +++ b/mindspore/ccsrc/pre_activate/mem_reuse/mem_swap_manager.cc @@ -65,6 +65,7 @@ void MemSwapManager::Init(const mindspore::session::KernelGraph *kernel_graph) { void MemSwapManager::SaveUserKernelTopoOrder(const mindspore::session::KernelGraph *kernel_graph) { MS_EXCEPTION_IF_NULL(kernel_graph); FuncGraphManagerPtr manager = kernel_graph->manager(); + MS_EXCEPTION_IF_NULL(manager); NodeUsersMap user_map = manager->node_users(); for (const auto &kernel : execution_order_) { auto iter = user_map.find(kernel); diff --git a/mindspore/ccsrc/session/session_basic.cc b/mindspore/ccsrc/session/session_basic.cc index 3bcdf4609bd..8c8857b4d94 100644 --- a/mindspore/ccsrc/session/session_basic.cc +++ b/mindspore/ccsrc/session/session_basic.cc @@ -590,6 +590,7 @@ KernelGraphPtr SessionBasic::ConstructKernelGraph(const AnfNodePtrList &lst, con graph->set_output(ConstructOutput(outputs, graph)); MS_EXCEPTION_IF_NULL(context_); FuncGraphManagerPtr manager = MakeManager({graph}); + context_->AddManager(manager); if (manager) { manager->AddFuncGraph(graph); graph->set_manager(manager); diff --git a/mindspore/ccsrc/session/session_context.h b/mindspore/ccsrc/session/session_context.h index ccf3faf55f2..feae390f19a 100644 --- a/mindspore/ccsrc/session/session_context.h +++ b/mindspore/ccsrc/session/session_context.h @@ -37,8 +37,10 @@ class Context : public pipeline::ResourceBase { uint32_t device_id() const { return device_id_; } static std::shared_ptr GetInstance(); + void AddManager(const FuncGraphManagerPtr &m) { manager_list_.push_back(m); } private: + std::vector manager_list_; std::string target_; uint32_t device_id_; };