c-让每个进程并行发送一组数据并从所有其他进程接收数据的最佳方式.MPI



我正在尝试,在我的程序中,每隔一段时间,让每个进程发送一组其他进程需要的数据。该过程还需要来自其他所有过程的数据。我的想法是广播一条消息来发送数据。然后进行一系列接收,以接收来自所有其他进程的数据。这看起来非常混乱,在编写代码时需要知道进程的数量。我想一定有更好的方法。

我正在使用MPI用C编写程序。

MPI_Allgather是适合此处作业的工具。每个进程都有一些数据,这些数据将分发给所有其他进程。如果你需要关于如何使用它(以及其他集体调用)的指导,有一些很好的在线教程:

  • http://mpitutorial.com/tutorials/mpi-scatter-gather-and-allgather/
  • http://mpi.deino.net/mpi_functions/MPI_Allgather.html

最新更新