MPI发送优于MPI发送的优势?

MPI发送优于MPI发送的优势?,mpi,Mpi,使用MPI\u SEND(标准阻塞发送)比使用MPI ISEND(标准非阻塞发送)更简单,因为后者应与另一个MPI功能一起使用,以确保通信已“完成”,以便可以重用发送缓冲区。但是除此之外,MPI\u SEND比MPI\u ISEND有什么优势吗?通常情况下,MPI\u ISEND可以防止死锁,还可以提供更好的性能(因为调用进程可以通过MPI实现在后台进行通信时做其他事情) 因此,使用阻塞版本是否是一个好主意?从性能角度来看,MPI\u Send()可能比MPI\u Isend()紧接着MPI\u

使用
MPI\u SEND
(标准阻塞发送)比使用
MPI ISEND
(标准非阻塞发送)更简单,因为后者应与另一个MPI功能一起使用,以确保通信已“完成”,以便可以重用发送缓冲区。但是除此之外,
MPI\u SEND
MPI\u ISEND
有什么优势吗?通常情况下,
MPI\u ISEND
可以防止死锁,还可以提供更好的性能(因为调用进程可以通过MPI实现在后台进行通信时做其他事情)


因此,使用阻塞版本是否是一个好主意?

从性能角度来看,
MPI\u Send()
可能比
MPI\u Isend()
紧接着
MPI\u Wait()
更快(在开放式MPI中,更快)

但最重要的是,如果您的MPI库不提供进度线程,则消息可能位于发送方节点上,直到您的代码对MPI进行进度处理(这通常在调用MPI子例程时发生,在调用
MPI\u Wait()
时肯定会发生)