我正在尝试,在我的程序中经常使用每个进程发送一组其他进程所需的数据。该过程还需要来自每个其他过程的数据。我的想法是广播一条消息来发送数据。然后有一系列接收来接收来自所有其他进程的数据。这看起来非常混乱,编写代码时需要知道进程数。我认为必须有更好的方法来做到这一点。
我正在使用MPI在C中编写程序。
答案 0 :(得分:1)
MPI_Allgather
是这里工作的正确工具。每个进程都有一些数据,它分发给所有其他进程。如果您需要有关如何使用它的指针(和其他集体调用),可以在线获得一些好的教程: