0

使用 MPI,在 C 中,当且仅当我在我的主进程 ID 0 中从 N 个处理器接收到所有数据时,我如何才能执行一个函数?

编辑:有没有办法以与发送时相同的顺序接收所有数据?

4

2 回答 2

1

如果我正确地回答了您的问题,MPI_Reduce就是您所需要的。

编辑:所以我没有正确回答您的问题。你需要的是MPI_Gather。在本文档中,您会看到:Each process (root process included) sends the contents of its send buffer to the root process. The root process receives the messages and stores them in rank order.希望这能回答您的问题。

于 2012-10-01T06:27:47.053 回答
1

尝试查看MPI_Gather函数。调用后,您可以通过以下方式检查条件执行:

if (ierr == MPI_SUCCESS) {
  // Execute a function
}
于 2012-10-01T06:31:44.073 回答