From c346a9652970aefe06c8715236b3d9b2adee390e Mon Sep 17 00:00:00 2001 From: tanghuikang Date: Wed, 24 Feb 2021 17:01:18 +0800 Subject: [PATCH] Not AllocateMemory when CompileGraph in PyNative mode --- mindspore/ccsrc/backend/session/gpu_session.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mindspore/ccsrc/backend/session/gpu_session.cc b/mindspore/ccsrc/backend/session/gpu_session.cc index 8564de2ec5..998e0ce383 100644 --- a/mindspore/ccsrc/backend/session/gpu_session.cc +++ b/mindspore/ccsrc/backend/session/gpu_session.cc @@ -387,8 +387,9 @@ GraphId GPUSession::CompileGraphImpl(KernelGraphPtr graph) { // Update Graph Dynamic Shape Attr. UpdateGraphDynamicShapeAttr(NOT_NULL(graph)); graph->UpdateGraphDynamicAttr(); + const bool pynative_mode = context_ptr->get_param(MS_CTX_EXECUTION_MODE) == kPynativeMode; // Hide NopOp from execution graph in graph mode - if (context_ptr->get_param(MS_CTX_EXECUTION_MODE) != kPynativeMode) { + if (!pynative_mode) { opt::HideNopNode(graph.get()); } // Build kernel if node is cnode @@ -407,8 +408,10 @@ GraphId GPUSession::CompileGraphImpl(KernelGraphPtr graph) { manager->AddFuncGraph(graph); graph->set_manager(manager); } - // Alloc memory, including static memory and dynamic memory - AllocateMemory(graph.get()); + // Alloc memory in graph mode, including static memory and dynamic memory + if (!pynative_mode) { + AllocateMemory(graph.get()); + } #ifdef ENABLE_DEBUGGER if (debugger_ && debugger_->DebuggerBackendEnabled()) {