0

我想隐藏 MPI_Bcast 中的通信延迟。

据我所知,我可以使用 MPI_Isend/Irecv 来制作它,但是当我使用 Bcast 时,我怎样才能让它畅通无阻?

4

1 回答 1

3

虽然它还不是最终版本,但 MPI 3.0 规范包括一个MPI_Ibcast,以及其他非阻塞集合。MPICH2 和 OpenMPI 的最新版本包括这些集合的实现。还有 libNBC,但它更多的是概念验证实现,并不关注性能。

说到性能:它可能需要一些调整。您可能会发现启用后台进度线程有助于或阻碍性能。您可以尝试MPI_Test定期调用以确保进度。这就像非阻塞点对点,只是在后台发送的消息更多,性能调优可以产生更大的收益。最后,在某些硬件上,可以从 CPU 中卸载集体通信并获得更好的计算/通信重叠。

于 2012-09-06T03:17:28.050 回答