我有一个 MPI_Isend 和 MPI_Recv 程序。假设我有 2 个处理器,它们都是这样的。
- MPI_Isend
- MPI_Recv
- MPI_等待
我对此的期望是在两个处理器上发送数据而不会阻塞。然后等待数据到来。然后继续,像这样。
- 0 发送到 1
- 1 发送到 0
- 0 从 1 接收
- 1 从 0 接收
但我得到的是这个。
- 0 发送到 1
- 0 从 1 接收(虽然 1 没有发送!)
- 1 发送到 0(现在它发送)
- 1 从 0 接收
我认为 MPI_Recv 应该等到数据到来。这可能是什么原因造成的?