非阻塞发送和阻塞接收是否仍然需要等待
Is wait still necessary for non-blocking send with blocking receive
我知道如果双方都是非阻塞发送和接收,那么需要MPI_Wait
或MPI_Test
。但是我想如果我们混合使用非阻塞发送和阻塞接收,考虑到阻塞接收可以保证通信的完成,我还需要调用MPI_Wait
吗?
非阻塞和阻塞通信模式的区别仅在于本地。您可以自由混合不同类型的发送和接收。无论在哪一侧使用非阻塞原语,您 必须始终发出 MPI_Wait
或类似的东西 来完成通信。
这是清理资源所必需的:如果您从未完成非阻塞发送,您将永远不会被允许重用发送缓冲区并累积延迟请求对象。
我知道如果双方都是非阻塞发送和接收,那么需要MPI_Wait
或MPI_Test
。但是我想如果我们混合使用非阻塞发送和阻塞接收,考虑到阻塞接收可以保证通信的完成,我还需要调用MPI_Wait
吗?
非阻塞和阻塞通信模式的区别仅在于本地。您可以自由混合不同类型的发送和接收。无论在哪一侧使用非阻塞原语,您 必须始终发出 MPI_Wait
或类似的东西 来完成通信。
这是清理资源所必需的:如果您从未完成非阻塞发送,您将永远不会被允许重用发送缓冲区并累积延迟请求对象。