From ef1ed8d6accab27943dab84ccfd506e87ea3091a Mon Sep 17 00:00:00 2001 From: zhaozhixuan Date: Sat, 8 May 2021 09:55:13 +0800 Subject: [PATCH] Optimize performance of single_op executor. --- ge/hybrid/model/hybrid_model_builder.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ge/hybrid/model/hybrid_model_builder.cc b/ge/hybrid/model/hybrid_model_builder.cc index a047a05b..7949ae7f 100755 --- a/ge/hybrid/model/hybrid_model_builder.cc +++ b/ge/hybrid/model/hybrid_model_builder.cc @@ -364,6 +364,16 @@ Status HybridModelBuilder::ParseDependentInputNodes(NodeItem &node_item, const s const auto &src_node = peer_out_anchor->GetOwnerNode(); GE_CHECK_NOTNULL(src_node); auto src_node_item = MutableNodeItem(src_node); + GE_CHECK_NOTNULL(src_node_item); + if (src_node_item->NodeType() == DATA) { + auto op_desc = src_node_item->GetOpDesc(); + GE_CHECK_NOTNULL(op_desc); + auto tensor = op_desc->MutableInputDesc(0); + if (AttrUtils::HasAttr(tensor, ATTR_NAME_VALUE)) { + GELOGD("Skip d2h memcpy, get hostmem from node %s.", src_node_item->NodeName().c_str()); + continue; + } + } src_node_item->to_const_output_id_list.emplace(peer_out_anchor->GetIdx()); dependent_for_shape_inference.emplace(src_node); host_input_value_dependencies_[&node_item].emplace_back(peer_out_anchor->GetIdx(), src_node_item);