fix get nullptr when use graph manager

This commit is contained in:
lizhenyu 2020-05-29 20:53:50 +08:00
parent 13bda4caf1
commit df04230e13
3 changed files with 4 additions and 0 deletions

View File

@ -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);

View File

@ -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);

View File

@ -37,8 +37,10 @@ class Context : public pipeline::ResourceBase {
uint32_t device_id() const { return device_id_; }
static std::shared_ptr<Context> GetInstance();
void AddManager(const FuncGraphManagerPtr &m) { manager_list_.push_back(m); }
private:
std::vector<FuncGraphManagerPtr> manager_list_;
std::string target_;
uint32_t device_id_;
};