关于MPI_Isend,MPI标准指出:“非阻塞发送调用表明系统可以开始从发送缓冲区复制数据。发送方在调用非阻塞发送操作后,在发送完成之前不应访问发送缓冲区的任何部分。” (http://www.mpi-forum.org/docs/mpi-11-html/node46.html)
在另一个发送调用中引用发送缓冲区是否可以?这是否包括在“访问发送缓冲区的任何部分”中?
换句话说,下面的发送方C代码是否正确?
在另一个发送调用中引用发送缓冲区是否可以?这是否包括在“访问发送缓冲区的任何部分”中?
换句话说,下面的发送方C代码是否正确?
MPI_Request req[2];
MPI_Status statuses[2];
...
MPI_Isend(buf, type, count, dest0, tag, comm, &req[0]);
MPI_Isend(buf, type, count, dest1, tag, comm, &req[1]);
MPI_Waitall(2, req, statuses);