如何解决应多久调用 MPI_Test 以在后台进行 MPI_Isend/MPI_Irecv 调用?
我将非阻塞 MPI_Isend/MPI_Irecv 调用与重复的 MPI_Test 调用结合使用,以实现通信/计算重叠。我注意到我是否实现重叠取决于我调用 MPI_Test 的频率。似乎如果我比某个阈值频率更频繁地调用它, MPI_Test 突然变得阻塞并使用线程的资源来处理数据。如果我调用它的频率低于阈值,则 MPI_Test 是非阻塞的,并且数据进展被计算屏蔽。我不确定这个阈值是什么,但我已经将每次迭代调用 MPI_Test 的极端情况与我的代码中每 500 次迭代进行了比较。前者不产生重叠,后者产生完全重叠。
有人可以就这是否是常见问题以及如何计算给定函数的最佳 MPI_Test 频率向我提供建议吗?我想这将是传输数据大小和计算发生的循环大小的函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。