c - MPI 笛卡尔拓扑 - MPI_Gather 等效吗?

标签 c parallel-processing mpi

我在 MPI 程序中使用笛卡尔拓扑。现在我想在程序结束时收集有关每个处理器上的变量(我们称之为“状态”)的信息,并将结果打印在屏幕上(从根进程)。通常我会做 MPI_Gather 但我怎样才能以“笛卡尔风格”来做呢?

最佳答案

提出邻域集体的原始论文为阻塞和非阻塞邻域 alltoall 操作提供了简单的示例实现,您可以将其用作旋转您自己的邻域集合的示例,即使您运行的 MPI 实现不支持“尚未支持所有 3.0 功能:

Hoeffler and Traff: "Sparse Collective Operations for MPI"

MPICH最近还添加了支持。您可以查看它们的实现,但是它们的代码中有很多无关的内容来支持错误处理、线程安全等。

关于c - MPI 笛卡尔拓扑 - MPI_Gather 等效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20926483/

相关文章:

c++ - 通过 MPI 发送和接收 2D 数组

c - undefined variable 错误

machine-learning - Julia:并行添加到多个数组

c - 如何使用 execv 与 sudo 一起运行程序?

sql - Unix shell 脚本并行运行 SQL 脚本

c - C 中使用 fork() 和命令行参数的并行进程

c - MPI 总运行时间

c - 共享内存,用于共享一个相同结构的数组

c - 使用gets读取二维字符串

c++ - 结构中的枚举声明