no need to add atomic for communication op's output

This commit is contained in:
laiyongqiang 2020-10-19 11:12:08 +08:00
parent 712d02a2fa
commit b76fa31cc5
1 changed files with 7 additions and 1 deletions

View File

@ -234,7 +234,13 @@ std::map<AnfNodePtr, std::vector<size_t>> GetCommunicationOpInputInfo(
for (size_t i = 0; i < input_num; i++) {
auto input_node = kernel->input(i + 1);
auto kernel_input = AnfAlgo::VisitKernelWithReturnType(input_node, 0, true);
MS_LOG(INFO) << " Add atomic clean for single communication op input, comm:" << kernel->fullname_with_scope()
if (AnfAlgo::IsCommunicationOp(kernel_input.first)) {
// no need to add atomic for communication op's output
MS_LOG(INFO) << "No need to add atomic clean for communication op "
<< kernel_input.first->fullname_with_scope() << "'s output";
continue;
}
MS_LOG(INFO) << "Add atomic clean for single communication op input, comm:" << kernel->fullname_with_scope()
<< " input_node: " << kernel_input.first->fullname_with_scope()
<< " index: " << kernel_input.second;
auto iter = comm_input_info_map.find(kernel_input.first);