如何解决是否可以看到 MPI_ISEND 不立即返回
我最近意识到,在我的模拟的第一次迭代中,我经历了特别缓慢的步骤,归结为以下部分
do I= 1,hpc_nodes
call mpi_isend(cnt(i),1,mpi_integer,whoisrootInNode(i),10000,comm,req(i),mpierr)
enddo
我意识到第 i 个 mpi_isend
中的一个在大约 2 秒后返回,而其余的将在几分之一秒内返回。这最终会逐渐消失,并且所有 mpi_isend 调用的成本都将降至最低。但是,我试图理解为什么会发生这种情况。
为什么有时 mpi_isend 会在 2 秒后返回同一等级内的某个 I
而紧跟在 I+1
之后的速度快 10 倍 - 为什么它只在开始时发生,即代码部分在一个大的时间循环内,在 2-3 个时间步之后这个问题似乎消失了
这是否与以下article
有关版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。