处理收到的MPI数据(Pipe-lining)

时间:2015-03-17 12:19:52

标签: c++ mpi

假设我有一个来自机器A的MPI_Send有一个巨大的消息,而在另一台机器上(比如说B)它正在接收到MPI_Recv(或者分别是MPI_isend和MPI_irecv)。目前,B处理所有数据到达后仅收到的数据;是否有MPI功能,允许我在收到数据时开始处理一些数据?

1 个答案:

答案 0 :(得分:2)

不是真的。您可以拥有一个最小大小的缓冲区,并开始通过它发送数据并在接收时使用它。

您可能希望了解MPI http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report/node65.htm#Node65的持久通信请求支持,并创建一些适合您应用程序的更高级API。

我通过流水线操作看到的所有情况,其中使用MPI_Send() / MPI_Recv()对或MPI_Sendrecv()进行临时解决方案。