对于阻塞接收的非阻塞发送是否仍然需要等待

时间:2018-05-26 14:22:10

标签: mpi communication distributed-computing

我知道如果双方都是非阻止发送和接收,则需要MPI_WaitMPI_Test。但是我想知道如果我们混合非阻塞发送和阻塞接收,我是否还需要调用MPI_Wait,因为阻塞接收可以确保通信完成?

1 个答案:

答案 0 :(得分:3)

非阻塞和阻塞通信模式之间的区别仅在于本地。您可以自由地混合不同类型的发送和接收。在您使用非阻塞原语的任何一方,必须始终发出MPI_Wait或类似的来完成通信。

这是清理资源所必需的:如果您从未完成非阻塞发送,则永远不会允许您重复使用发送缓冲区并累积延迟请求对象。