|
|
|
@@ -672,10 +672,8 @@ void AscendStreamAssign::InsertEventForIndependentParallel(const NotNull<KernelG |
|
|
|
void AscendStreamAssign::GetNeedActiveStreams(const NotNull<KernelGraphPtr> &graph_ptr) { |
|
|
|
CNodePtr cur_cnode_ptr = nullptr; |
|
|
|
auto cnode_ptr_list = graph_ptr->execution_order(); |
|
|
|
// 1)first stream 0 should be actived first; |
|
|
|
need_first_active_streams_.emplace_back(0); |
|
|
|
|
|
|
|
// 2)stream witch kStreamNeedActivedFirst attr should be actived; |
|
|
|
// 1)stream witch kStreamNeedActivedFirst attr should be actived; |
|
|
|
for (size_t i = 0; i < cnode_ptr_list.size(); ++i) { |
|
|
|
cur_cnode_ptr = cnode_ptr_list[i]; |
|
|
|
MS_EXCEPTION_IF_NULL(cur_cnode_ptr); |
|
|
|
@@ -691,19 +689,25 @@ void AscendStreamAssign::GetNeedActiveStreams(const NotNull<KernelGraphPtr> &gra |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 3)independent stream:if has not been activate, push to need active vector |
|
|
|
// 2)independent stream:if has not been activate, push to need active vector |
|
|
|
if (!independent_stream_activated_) { |
|
|
|
for (auto &item : independent_stream_map_) { |
|
|
|
need_first_active_streams_.emplace_back(item.first); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 4)hcom stream:if has not been activate, push to need active vector |
|
|
|
// 3)hcom stream:if has not been activate, push to need active vector |
|
|
|
if (!hcom_stream_activated_) { |
|
|
|
for (auto &item : hcom_stream_map_) { |
|
|
|
need_first_active_streams_.emplace_back(item.first); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 4)first stream 0 should be actived first; |
|
|
|
auto it = std::find(need_first_active_streams_.begin(), need_first_active_streams_.end(), 0); |
|
|
|
if (it == need_first_active_streams_.end()) { |
|
|
|
need_first_active_streams_.emplace_back(0); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// section8 |
|
|
|
@@ -958,7 +962,7 @@ void AscendStreamAssign::DFS(uint32_t start, std::vector<uint32_t> *group) { |
|
|
|
if (!IsVecExist(group)) { |
|
|
|
stream_groups_.emplace_back(*group); |
|
|
|
} else { |
|
|
|
MS_LOG(WARNING) << "DFS should not print this log"; |
|
|
|
MS_LOG(WARNING) << "DFS find same stream group, Not expected"; |
|
|
|
} |
|
|
|
return; |
|
|
|
} |
|
|
|
|