From 80ee4ee2fa063e4d6b2d63906d5abee2e36eb740 Mon Sep 17 00:00:00 2001 From: chujinjin Date: Sat, 5 Dec 2020 14:19:23 +0800 Subject: [PATCH] fix output value error when run single op in graph mode --- mindspore/ccsrc/backend/session/session_basic.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/mindspore/ccsrc/backend/session/session_basic.cc b/mindspore/ccsrc/backend/session/session_basic.cc index 7143a1ef1b..ab0db60055 100644 --- a/mindspore/ccsrc/backend/session/session_basic.cc +++ b/mindspore/ccsrc/backend/session/session_basic.cc @@ -1124,13 +1124,21 @@ void SessionBasic::UpdateOutputs(const std::shared_ptr &kernel_grap outputs->emplace_back(CreateNodeOutputTensors(item, kernel_graph, input_tensors, &tensor_to_node)); } + auto ms_context = MsContext::GetInstance(); + MS_EXCEPTION_IF_NULL(ms_context); for (auto &item : tensor_to_node) { auto &tensor = item.first; auto &node = item.second.first; auto &output_index = item.second.second; auto address = AnfAlgo::GetMutableOutputAddr(node, output_index); + MS_EXCEPTION_IF_NULL(tensor); tensor->set_device_address(address); tensor->SetNeedWait(false); + + if (ms_context->get_param(MS_CTX_EXECUTION_MODE) != kPynativeMode) { + tensor->data_sync(false); + tensor->set_sync_status(kNeedSyncHostToDevice); + } } }