Browse Source

!910 _zero_copy_identity_reserved

From: @dimitri_rose
Reviewed-by: @xchu42,@wqtshg
Signed-off-by: @wqtshg
pull/910/MERGE
mindspore-ci-bot Gitee 4 years ago
parent
commit
14a7c6a880
2 changed files with 7 additions and 0 deletions
  1. +6
    -0
      ge/graph/optimize/mem_rw_conflict_optimize.cc
  2. +1
    -0
      ge/graph/passes/subgraph_pass.cc

+ 6
- 0
ge/graph/optimize/mem_rw_conflict_optimize.cc View File

@@ -688,6 +688,12 @@ Status GraphOptimize::HandleMemoryRWConflict(ComputeGraphPtr &compute_graph) {
if (node->GetType() == NETOUTPUT && AttrUtils::HasAttr(node->GetOpDesc(), ATTR_NAME_PARENT_NODE_INDEX)) {
continue;
}
bool identity_reserved = false;
AttrUtils::GetBool(node->GetOpDesc(), "_zero_copy_identity_reserved", identity_reserved);
if (identity_reserved) {
GELOGD("Identity [%s] need to be reserved.", node->GetName().c_str());
continue;
}
if (node->GetType() == IDENTITY || node->GetType() == READVARIABLEOP) {
// split identity
ret = SplitIdentity(node);


+ 1
- 0
ge/graph/passes/subgraph_pass.cc View File

@@ -443,6 +443,7 @@ Status SubgraphPass::InsertMemcpyNode(const ComputeGraphPtr &graph, const OutDat
.AddOutput("y", in_node->GetOpDesc()->GetOutputDesc(0))
.Build();
(void)AttrUtils::SetBool(op_desc, ATTR_NO_NEED_CONSTANT_FOLDING, false);
(void)AttrUtils::SetBool(op_desc, "_zero_copy_identity_reserved", true);
if (GraphUtils::InsertNodeAfter(out_anchor, in_anchors, graph->AddNode(op_desc)) != GRAPH_SUCCESS) {
GELOGE(FAILED, "Insert IDENTITY node %s after %s failed.", name.c_str(), in_node->GetName().c_str());
return FAILED;


Loading…
Cancel
Save