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

标签 c parallel-processing mpi

在我的程序中,我经常尝试让每个进程发送一组其他进程需要的数据。该流程还需要来自其他流程的数据。我的想法是广播一条消息来发送数据。然后有一系列接收来接收来自所有其他进程的数据。这看起来很困惑,并且在编写代码时需要知道进程的数量。我想一定有更好的方法来做到这一点。

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

最佳答案

MPI_Allgather 是完成此工作的正确工具。每个进程都有一些分发给所有其他进程的数据。如果您需要有关如何使用它(以及其他集体调用)的指导,可以在线找到一些很好的教程:

关于c - 让每个进程并行发送一组数据并从所有其他进程接收数据的最佳方式。 MPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963582/

相关文章:

c - 使用 malloc 的指针时出现奇怪的内存分配

r - 如何在Windows R上设置和使用MPI

java - 以最小的开销并行执行同一类的方法

parallel-processing - 以下两个循环都可以并行化吗?

algorithm - 排序和负载均衡

c - 异步 MPI_Irecv 的 MPI_Waitall 错误

linux - 无法为 (RegCM) 安装找到打开的 MPI 文件

c中的圆形数组用于延迟线

c - 使用 C 处理标准输入

c - 我想做一个打印反向的代码