From 8b2c538fb7fc646676522ab55b0bd165a3614626 Mon Sep 17 00:00:00 2001 From: chenyemeng Date: Tue, 3 Nov 2020 10:24:12 +0800 Subject: [PATCH] rm redundant Memcpy before Merge --- ge/graph/passes/merge_pass.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ge/graph/passes/merge_pass.cc b/ge/graph/passes/merge_pass.cc index 61aab4aa..8938b47e 100644 --- a/ge/graph/passes/merge_pass.cc +++ b/ge/graph/passes/merge_pass.cc @@ -79,6 +79,16 @@ Status MergePass::Run(NodePtr &node) { return FAILED; } } + auto in_node = in_data_nodes.at(0); + bool memcpy_optimize_flag = (in_node != nullptr) && + ((in_node->GetType() == MEMCPYASYNC) || (in_node->GetType() == MEMCPYADDRASYNC)) && + (in_node->GetInDataNodes().size() == 1); + if (memcpy_optimize_flag) { + if (IsolateAndDeleteNode(in_node, {0}) != SUCCESS) { + GELOGE(FAILED, "Isolate and delete node %s failed.", in_node->GetName().c_str()); + return FAILED; + } + } return IsolateAndDeleteNode(node, merge_io_map); } default: {