diff --git a/mindspore/ccsrc/runtime/device/ascend/kernel_build_ascend.cc b/mindspore/ccsrc/runtime/device/ascend/kernel_build_ascend.cc index 5f6b198c792..01b0114909b 100644 --- a/mindspore/ccsrc/runtime/device/ascend/kernel_build_ascend.cc +++ b/mindspore/ccsrc/runtime/device/ascend/kernel_build_ascend.cc @@ -234,7 +234,13 @@ std::map> 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);