在我的程序中,我经常尝试让每个进程发送一组其他进程需要的数据。该流程还需要来自其他流程的数据。我的想法是广播一条消息来发送数据。然后有一系列接收来接收来自所有其他进程的数据。这看起来很困惑,并且在编写代码时需要知道进程的数量。我想一定有更好的方法来做到这一点。
我正在使用 MPI 用 C 语言编写程序。
最佳答案
MPI_Allgather
是完成此工作的正确工具。每个进程都有一些分发给所有其他进程的数据。如果您需要有关如何使用它(以及其他集体调用)的指导,可以在线找到一些很好的教程:
关于c - 让每个进程并行发送一组数据并从所有其他进程接收数据的最佳方式。 MPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963582/