Browse Source

comment modify

tags/v1.2.0
wangxiaotian22 3 years ago
parent
commit
d19de55b3c
1 changed files with 13 additions and 3 deletions
  1. +13
    -3
      ge/graph/passes/hccl_memcpy_pass.cc

+ 13
- 3
ge/graph/passes/hccl_memcpy_pass.cc View File

@@ -167,7 +167,7 @@ Status HcclMemcpyPass::P2pmemInputProcess(const ComputeGraphPtr &graph, const No
continue; continue;
} }


GELOGI("p2p input op is:%s.", op_desc->GetName().c_str());
GELOGD("p2p input op is:%s.", op_desc->GetName().c_str());
auto hccl_in_anchor = node->GetInDataAnchor(index); auto hccl_in_anchor = node->GetInDataAnchor(index);
if (hccl_in_anchor == nullptr) { if (hccl_in_anchor == nullptr) {
continue; continue;
@@ -266,6 +266,9 @@ std::string HcclMemcpyPass::CheckDuplicateName(const std::string &node_name) {
/// ///
Status HcclMemcpyPass::ModifyEdgeConnection(const ComputeGraphPtr &graph, const OutDataAnchorPtr &src_out_anchor, Status HcclMemcpyPass::ModifyEdgeConnection(const ComputeGraphPtr &graph, const OutDataAnchorPtr &src_out_anchor,
const InDataAnchorPtr &hccl_in_anchor) { const InDataAnchorPtr &hccl_in_anchor) {
GE_CHECK_NOTNULL(src_out_anchor->GetOwnerNode());
GE_CHECK_NOTNULL(hccl_in_anchor->GetOwnerNode());

Status ret = InsertIdentityBeforeHccl(graph, src_out_anchor, hccl_in_anchor); Status ret = InsertIdentityBeforeHccl(graph, src_out_anchor, hccl_in_anchor);
if (ret != SUCCESS) { if (ret != SUCCESS) {
GELOGE(INTERNAL_ERROR, "add identity failed, var_node:%s, hccl_node:%s.", GELOGE(INTERNAL_ERROR, "add identity failed, var_node:%s, hccl_node:%s.",
@@ -333,7 +336,12 @@ Status HcclMemcpyPass::InsertAssignAfterBroadcastIfNeed(const ComputeGraphPtr &g
const OutDataAnchorPtr &var_out_anchor, const OutDataAnchorPtr &var_out_anchor,
const InDataAnchorPtr &hccl_in_anchor) { const InDataAnchorPtr &hccl_in_anchor) {
if (hccl_in_anchor->GetOwnerNode()->GetType() != HCOMBROADCAST) { if (hccl_in_anchor->GetOwnerNode()->GetType() != HCOMBROADCAST) {
GELOGI("%s not broadcast, no need to insert assign node", hccl_in_anchor->GetOwnerNode()->GetName().c_str());
GELOGD("%s not broadcast, no need to insert assign node", hccl_in_anchor->GetOwnerNode()->GetName().c_str());
return SUCCESS;
}

if (var_out_anchor->GetOwnerNode()->GetType() != VARIABLE) {
GELOGD("%s not variable, no need to insert assign node", var_out_anchor->GetOwnerNode()->GetName().c_str());
return SUCCESS; return SUCCESS;
} }


@@ -342,7 +350,7 @@ Status HcclMemcpyPass::InsertAssignAfterBroadcastIfNeed(const ComputeGraphPtr &g


for (auto peer_in_anchor : var_out_anchor->GetPeerInDataAnchors()) { for (auto peer_in_anchor : var_out_anchor->GetPeerInDataAnchors()) {
if (peer_in_anchor->GetOwnerNode()->GetType() == ASSIGN) { if (peer_in_anchor->GetOwnerNode()->GetType() == ASSIGN) {
GELOGI("variable %s out assign node is exist.", var_out_anchor->GetOwnerNode()->GetName().c_str());
GELOGD("variable %s out assign node is exist.", var_out_anchor->GetOwnerNode()->GetName().c_str());
return SUCCESS; return SUCCESS;
} }
} }
@@ -351,6 +359,7 @@ Status HcclMemcpyPass::InsertAssignAfterBroadcastIfNeed(const ComputeGraphPtr &g
GE_CHECK_NOTNULL(assign_node); GE_CHECK_NOTNULL(assign_node);


OutDataAnchorPtr hccl_out_anchor = hccl_in_anchor->GetOwnerNode()->GetOutDataAnchor(hccl_in_anchor->GetIdx()); OutDataAnchorPtr hccl_out_anchor = hccl_in_anchor->GetOwnerNode()->GetOutDataAnchor(hccl_in_anchor->GetIdx());
GE_CHECK_NOTNULL(hccl_out_anchor);


Status ret = hccl_out_anchor->LinkTo(assign_node->GetInDataAnchor(kAnchorAssignValueIndex)); Status ret = hccl_out_anchor->LinkTo(assign_node->GetInDataAnchor(kAnchorAssignValueIndex));
if (ret != SUCCESS) { if (ret != SUCCESS) {
@@ -368,6 +377,7 @@ Status HcclMemcpyPass::InsertAssignAfterBroadcastIfNeed(const ComputeGraphPtr &g


// add control edge between assign node and node after broadcast node // add control edge between assign node and node after broadcast node
OutControlAnchorPtr assign_out_control_anchor = assign_node->GetOutControlAnchor(); OutControlAnchorPtr assign_out_control_anchor = assign_node->GetOutControlAnchor();
GE_CHECK_NOTNULL(assign_out_control_anchor);


for (auto in_data_anchor : hccl_out_anchor->GetPeerInDataAnchors()) { for (auto in_data_anchor : hccl_out_anchor->GetPeerInDataAnchors()) {
if (in_data_anchor->GetOwnerNode()->GetName() == assign_node->GetName()) { if (in_data_anchor->GetOwnerNode()->GetName() == assign_node->GetName()) {


Loading…
Cancel
Save