【发布时间】:2013-07-09 02:33:18
【问题描述】:
我知道MPI_Send() 是一个阻塞调用,它会等到可以安全地修改应用程序缓冲区以供重用。为了使发送调用同步(应该与接收者握手),我们需要使用MPI_Ssend()。
我想知道两者的区别。假设我需要在进程之间发送固定数量的字节,哪个应该花费更长的时间?
对我来说,代码在 MPI_Send() 调用中运行良好,但无限期地等待 MPI_Ssend()。
可能的原因是什么?
最重要的是,我很确定在使用MPI_Send() 时接收过程中正在接收数据,所以这个推断不会导致在使用MPI_Ssend() 时等待握手。
或者我可以得出一个结论:使用MPI_Send(),您可以将数据发送到自我进程但不能使用MPI_Ssend()?
【问题讨论】: