From: @wangxiaotian22 Reviewed-by: @xchu42 Signed-off-by:tags/v1.3.0
@@ -466,7 +466,7 @@ Status AllReduceParallelPass::Run(ComputeGraphPtr graph, const vector<SubgraphPt | |||||
return NOT_CHANGED; | return NOT_CHANGED; | ||||
} | } | ||||
GELOGI("AllReduceParallelPass is enabled."); | |||||
GELOGI("[Run][AllReduceParallelPass] start"); | |||||
GE_DUMP(graph, "BeforeAllReduceParallel"); | GE_DUMP(graph, "BeforeAllReduceParallel"); | ||||
// All successors of HcomAllReduce. | // All successors of HcomAllReduce. | ||||
@@ -576,7 +576,7 @@ Status LogicalStreamAllocator::Assign(const ComputeGraphPtr &root_graph, const G | |||||
RefreshContinuousStreams(root_graph); | RefreshContinuousStreams(root_graph); | ||||
stream_num = context_.next_stream; | stream_num = context_.next_stream; | ||||
GELOGI("Assigned logical stream num: %ld.", stream_num); | |||||
GELOGI("[Assign][LogicalStream] At last, stream num: %ld.", stream_num); | |||||
return SUCCESS; | return SUCCESS; | ||||
} | } | ||||
@@ -608,7 +608,7 @@ Status LogicalStreamAllocator::DoAssign(const ComputeGraphPtr &graph, const Grap | |||||
return status; | return status; | ||||
} | } | ||||
GELOGD("Subgraphs of graph %s", graph->GetName().c_str()); | |||||
GELOGD("[Show][Subgraphs] in graph %s", graph->GetName().c_str()); | |||||
for (const auto &subgraph : subgraphs) { | for (const auto &subgraph : subgraphs) { | ||||
if (subgraph != nullptr) { | if (subgraph != nullptr) { | ||||
GELOGD("subgraph: %s", subgraph->name.c_str()); | GELOGD("subgraph: %s", subgraph->name.c_str()); | ||||
@@ -675,9 +675,9 @@ Status LogicalStreamAllocator::RunPasses(const ComputeGraphPtr &graph, const vec | |||||
Status status = pass->Run(graph, subgraphs, context_); | Status status = pass->Run(graph, subgraphs, context_); | ||||
if (status == SUCCESS) { | if (status == SUCCESS) { | ||||
GELOGD("Stream pass %s return SUCCESS.", pass->GetName().c_str()); | |||||
GELOGD("[Show][Status]Stream pass %s return SUCCESS.", pass->GetName().c_str()); | |||||
} else if (status == NOT_CHANGED) { | } else if (status == NOT_CHANGED) { | ||||
GELOGD("Stream pass %s return NOT_CHANGED.", pass->GetName().c_str()); | |||||
GELOGD("[Show][Status]Stream pass %s return NOT_CHANGED.", pass->GetName().c_str()); | |||||
} else { | } else { | ||||
GELOGE(status, "Stream pass %s failed.", pass->GetName().c_str()); | GELOGE(status, "Stream pass %s failed.", pass->GetName().c_str()); | ||||
return status; | return status; | ||||
@@ -508,7 +508,7 @@ BlockMemAssigner::BlockMemAssigner(ComputeGraphPtr compute_graph, const map<stri | |||||
symbol_to_anchors_(symbol_to_anchors), anchor_to_symbol_(anchor_to_symbol), life_time_(0) {} | symbol_to_anchors_(symbol_to_anchors), anchor_to_symbol_(anchor_to_symbol), life_time_(0) {} | ||||
BlockMemAssigner::~BlockMemAssigner() { | BlockMemAssigner::~BlockMemAssigner() { | ||||
GELOGD("blocks_store_ size : %lu", blocks_store_.size()); | |||||
GELOGD("[Destruct][BlockMemAssigner]blocks_store_ size : %lu", blocks_store_.size()); | |||||
for (MemoryBlock *memory_block : blocks_store_) { | for (MemoryBlock *memory_block : blocks_store_) { | ||||
GE_DELETE_NEW_SINGLE(memory_block); | GE_DELETE_NEW_SINGLE(memory_block); | ||||
} | } | ||||
@@ -2156,7 +2156,7 @@ void BlockMemAssigner::SetOpMemOffset(bool is_zero_copy) { | |||||
Status BlockMemAssigner::Assign() { | Status BlockMemAssigner::Assign() { | ||||
vector<int64_t> ranges; | vector<int64_t> ranges; | ||||
if (GetMemoryRanges(ranges) != SUCCESS) { | if (GetMemoryRanges(ranges) != SUCCESS) { | ||||
GELOGE(FAILED, "GetMemoryRanges Fail!"); | |||||
GELOGE(FAILED, "[Get][MemoryRanges] Fail!"); | |||||
return FAILED; | return FAILED; | ||||
} | } | ||||
GE_IF_BOOL_EXEC(ranges.empty(), return SUCCESS); | GE_IF_BOOL_EXEC(ranges.empty(), return SUCCESS); | ||||
@@ -337,7 +337,7 @@ uint32_t GetContinuousMemoryType(const OpDescPtr &op_desc) { | |||||
} | } | ||||
if (continuous_type != 0) { | if (continuous_type != 0) { | ||||
GELOGI("Current node %s continuous type %d", op_desc->GetName().c_str(), continuous_type); | |||||
GELOGI("[Get][MemType:Continuous]Current node %s, value is %d", op_desc->GetName().c_str(), continuous_type); | |||||
} | } | ||||
return continuous_type; | return continuous_type; | ||||
} | } | ||||
@@ -482,7 +482,7 @@ Status GraphMemoryAssigner::ReAssignContinuousMemory(bool is_loop_graph) { | |||||
"[Assign][Memory:Continuous:Input]fail for node:%s.", node->GetName().c_str()) | "[Assign][Memory:Continuous:Input]fail for node:%s.", node->GetName().c_str()) | ||||
} | } | ||||
for (auto pair : memory_offset_) { | for (auto pair : memory_offset_) { | ||||
GELOGD("After reassign continuous memory, memory type = %ld, mem offset = %zu.", pair.first, | |||||
GELOGD("[Reassign][Memory:Continuous]At last, memory type = %ld, mem offset = %zu.", pair.first, | |||||
pair.second.mem_offset_); | pair.second.mem_offset_); | ||||
} | } | ||||
return ge::SUCCESS; | return ge::SUCCESS; | ||||
@@ -490,13 +490,13 @@ Status GraphMemoryAssigner::ReAssignContinuousMemory(bool is_loop_graph) { | |||||
Status GraphMemoryAssigner::AssignContinuousInputMemory(const ge::NodePtr &node, int64_t &continuous_mem_start, | Status GraphMemoryAssigner::AssignContinuousInputMemory(const ge::NodePtr &node, int64_t &continuous_mem_start, | ||||
int64_t &continuous_mem_size, int64_t memory_type, uint32_t continuous_type, bool reverse_refresh) { | int64_t &continuous_mem_size, int64_t memory_type, uint32_t continuous_type, bool reverse_refresh) { | ||||
GELOGI("Current node %s needs continuous input", node->GetName().c_str()); | |||||
GELOGI("[Assign][Memory:Input:Continuous]start for Current node %s", node->GetName().c_str()); | |||||
auto iter = memory_offset_.find(memory_type); | auto iter = memory_offset_.find(memory_type); | ||||
if (iter == memory_offset_.end()) { | if (iter == memory_offset_.end()) { | ||||
REPORT_INNER_ERROR("E19999", "find memory offset fail for mem_type:%ld, " | REPORT_INNER_ERROR("E19999", "find memory offset fail for mem_type:%ld, " | ||||
"when assign continuous input memory for node:%s, ", memory_type, node->GetName().c_str()); | "when assign continuous input memory for node:%s, ", memory_type, node->GetName().c_str()); | ||||
GELOGE(FAILED, "[Find][MemOffset]fail for mem_type:%ld, when AssignContinuousInputMemory for node:%s", | GELOGE(FAILED, "[Find][MemOffset]fail for mem_type:%ld, when AssignContinuousInputMemory for node:%s", | ||||
memory_type, node->GetName().c_str()); | |||||
memory_type, node->GetName().c_str()); | |||||
return FAILED; | return FAILED; | ||||
} | } | ||||
// The head and tail of hcom continuous input should be added 512 | // The head and tail of hcom continuous input should be added 512 | ||||
@@ -566,9 +566,9 @@ Status GraphMemoryAssigner::AssignContinuousInputMemory(const ge::NodePtr &node, | |||||
auto peer_output_offset = output_list.at(peer_out_data_anchor->GetIdx()); | auto peer_output_offset = output_list.at(peer_out_data_anchor->GetIdx()); | ||||
output_list.at(peer_out_data_anchor->GetIdx()) = output_list_this.at(out2ins.begin()->first); | output_list.at(peer_out_data_anchor->GetIdx()) = output_list_this.at(out2ins.begin()->first); | ||||
peer_op_desc->SetOutputOffset(output_list); | peer_op_desc->SetOutputOffset(output_list); | ||||
GELOGI("Node %s out %d ref in %d input node %s, use output offset %ld update %ld", node->GetName().c_str(), | |||||
out2ins.begin()->first, out2ins.begin()->second, peer_op_desc->GetName().c_str(), | |||||
output_list_this.at(out2ins.begin()->first), peer_output_offset); | |||||
GELOGI("[Update][Offset]Node %s out %d ref in %d input node %s, use output offset %ld update %ld", | |||||
node->GetName().c_str(), out2ins.begin()->first, out2ins.begin()->second, | |||||
peer_op_desc->GetName().c_str(), output_list_this.at(out2ins.begin()->first), peer_output_offset); | |||||
} else { | } else { | ||||
GELOGD("Node %s out %d ref in %d input node %s with total ref numbers %zu.", node->GetName().c_str(), | GELOGD("Node %s out %d ref in %d input node %s with total ref numbers %zu.", node->GetName().c_str(), | ||||
out2ins.begin()->first, out2ins.begin()->second, peer_op_desc->GetName().c_str(), out2ins.size()); | out2ins.begin()->first, out2ins.begin()->second, peer_op_desc->GetName().c_str(), out2ins.size()); | ||||
@@ -929,8 +929,8 @@ Status GraphMemoryAssigner::AssignReferenceMemory() { | |||||
if (out_op_desc->GetOutputsSize() > output_list.size()) { | if (out_op_desc->GetOutputsSize() > output_list.size()) { | ||||
REPORT_INNER_ERROR("E19999", "Output size:%zu more than output offset size:%zu, judge invalid in node:%s " | REPORT_INNER_ERROR("E19999", "Output size:%zu more than output offset size:%zu, judge invalid in node:%s " | ||||
"when AssignReferenceMemory", | |||||
out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | |||||
"when AssignReferenceMemory", | |||||
out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | |||||
GELOGE(ge::FAILED, "[Check][InnerData]Output size:%zu more than output offset size:%zu, invalid in node:%s", | GELOGE(ge::FAILED, "[Check][InnerData]Output size:%zu more than output offset size:%zu, invalid in node:%s", | ||||
out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | out_op_desc->GetOutputsSize(), output_list.size(), node->GetName().c_str()); | ||||
return ge::FAILED; | return ge::FAILED; | ||||
@@ -1671,7 +1671,7 @@ bool GraphMemoryAssigner::AssignContinuousInputMemoryWithAtomicProcessDirectly( | |||||
auto continuous_type = iter->second; | auto continuous_type = iter->second; | ||||
bool continuous_input = ((continuous_type & kTypeInput) != 0) || ((continuous_type & kTypeInputNoPadding) != 0); | bool continuous_input = ((continuous_type & kTypeInput) != 0) || ((continuous_type & kTypeInputNoPadding) != 0); | ||||
if (continuous_input) { | if (continuous_input) { | ||||
GELOGI("Node %s 's precursor node %s need assign continuous input memory, store node firstly", | |||||
GELOGI("[Store][Node] of %s cause it's precursor node %s need assign continuous input memory", | |||||
input_continuous_node->GetName().c_str(), in_node->GetName().c_str()); | input_continuous_node->GetName().c_str(), in_node->GetName().c_str()); | ||||
return false; | return false; | ||||
} | } | ||||
@@ -1681,7 +1681,7 @@ bool GraphMemoryAssigner::AssignContinuousInputMemoryWithAtomicProcessDirectly( | |||||
node_2_continuous_type.emplace(out_node, continuous_type); | node_2_continuous_type.emplace(out_node, continuous_type); | ||||
bool continuous_input = ((continuous_type & kTypeInput) != 0) || ((continuous_type & kTypeInputNoPadding) != 0); | bool continuous_input = ((continuous_type & kTypeInput) != 0) || ((continuous_type & kTypeInputNoPadding) != 0); | ||||
if (continuous_input) { | if (continuous_input) { | ||||
GELOGI("Node %s 's succeed node %s need assign continuous input memory, store node firstly", | |||||
GELOGI("[Store][Node] of %s cause it's succeed node %s need assign continuous input memory", | |||||
input_continuous_node->GetName().c_str(), out_node->GetName().c_str()); | input_continuous_node->GetName().c_str(), out_node->GetName().c_str()); | ||||
return false; | return false; | ||||
} | } | ||||
@@ -428,7 +428,8 @@ Status AippOp::ConvertRelatedInputNameToRank() { | |||||
if (!convert_flag) { | if (!convert_flag) { | ||||
string error_msg = "Top name " + related_input_name + "convert rank failed, Please" | string error_msg = "Top name " + related_input_name + "convert rank failed, Please" | ||||
" ensure top name in aipp config is the top name of data node."; | " ensure top name in aipp config is the top name of data node."; | ||||
GE_ERRORLOG_AND_ERRORMSG(PARAM_INVALID, error_msg.c_str()); | |||||
GELOGE(PARAM_INVALID, "[Check][InputParam]%s", error_msg.c_str()); | |||||
REPORT_INPUT_ERROR("E19021", std::vector<std::string>({"reason"}), std::vector<std::string>({error_msg})); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
@@ -1,4 +1,4 @@ | |||||
/** | |||||
/** | |||||
* Copyright 2020 Huawei Technologies Co., Ltd | * Copyright 2020 Huawei Technologies Co., Ltd | ||||
* | * | ||||
* Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
@@ -124,13 +124,15 @@ Status InsertNewOpUtil::CheckInputNamePositionNotRepeat() { | |||||
if (another_item->related_input_name().empty()) { | if (another_item->related_input_name().empty()) { | ||||
string error_msg = "Can not both set related_input_name and related_input_rank!" | string error_msg = "Can not both set related_input_name and related_input_rank!" | ||||
" Please ensure param is the same with the first aipp config(related_input_name)."; | " Please ensure param is the same with the first aipp config(related_input_name)."; | ||||
GE_ERRORLOG_AND_ERRORMSG(PARAM_INVALID, error_msg.c_str()); | |||||
GELOGE(PARAM_INVALID, "[Check][InputParam]%s", error_msg.c_str()); | |||||
REPORT_INPUT_ERROR("E19021", std::vector<std::string>({"reason"}), std::vector<std::string>({error_msg})); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
if (item->related_input_name() == another_item->related_input_name()) { | if (item->related_input_name() == another_item->related_input_name()) { | ||||
string error_msg = "Can not insert aipp to the same postion! Please ensure related_input_name" | string error_msg = "Can not insert aipp to the same postion! Please ensure related_input_name" | ||||
" param is different in different aipp config."; | " param is different in different aipp config."; | ||||
GE_ERRORLOG_AND_ERRORMSG(PARAM_INVALID, error_msg.c_str()); | |||||
GELOGE(PARAM_INVALID, "[Check][InputParam]%s", error_msg.c_str()); | |||||
REPORT_INPUT_ERROR("E19021", std::vector<std::string>({"reason"}), std::vector<std::string>({error_msg})); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
} | } | ||||
@@ -150,13 +152,15 @@ Status InsertNewOpUtil::CheckInputRankPositionNoRepeat() { | |||||
if (!another_item->related_input_name().empty()) { | if (!another_item->related_input_name().empty()) { | ||||
string error_msg = "Can not both set related_input_rank and related_input_name!" | string error_msg = "Can not both set related_input_rank and related_input_name!" | ||||
" Please ensure param is the same with the first aipp config(related_input_rank)."; | " Please ensure param is the same with the first aipp config(related_input_rank)."; | ||||
GE_ERRORLOG_AND_ERRORMSG(PARAM_INVALID, error_msg.c_str()); | |||||
GELOGE(PARAM_INVALID, "[Check][InputParam]%s", error_msg.c_str()); | |||||
REPORT_INPUT_ERROR("E19021", std::vector<std::string>({"reason"}), std::vector<std::string>({error_msg})); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
if (item->related_input_rank() == another_item->related_input_rank()) { | if (item->related_input_rank() == another_item->related_input_rank()) { | ||||
string error_msg = "Can not insert aipp to the same postion! Please ensure related_input_rank" | string error_msg = "Can not insert aipp to the same postion! Please ensure related_input_rank" | ||||
" param is different in different aipp config."; | " param is different in different aipp config."; | ||||
GE_ERRORLOG_AND_ERRORMSG(PARAM_INVALID, error_msg.c_str()); | |||||
GELOGE(PARAM_INVALID, "[Check][InputParam]%s", error_msg.c_str()); | |||||
REPORT_INPUT_ERROR("E19021", std::vector<std::string>({"reason"}), std::vector<std::string>({error_msg})); | |||||
return PARAM_INVALID; | return PARAM_INVALID; | ||||
} | } | ||||
} | } | ||||
@@ -212,7 +216,7 @@ Status InsertNewOpUtil::CheckGraph(const ComputeGraphPtr &graph) { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
GE_CHK_LOG_AND_ERRORMSG((aippNodes.size() == 0) || (aippNodes.size() == next_nodes_cnt), | |||||
GE_CHK_LOG_AND_ERRORMSG((aippNodes.size() == 0) || (aippNodes.size() == next_nodes_cnt), | |||||
PARAM_INVALID, | PARAM_INVALID, | ||||
"Can not config part of outputs of Data node to support AIPP, config all " | "Can not config part of outputs of Data node to support AIPP, config all " | ||||
"of the outputs of Data to support AIPP, or config none of them"); | "of the outputs of Data to support AIPP, or config none of them"); | ||||