同步非阻塞发送
MPI_ISSEND(buf, count, datatype, dest, tag, comm, request)
INbuf发送缓冲区的起始地址(可选数据类型)
INcount发送数据的个数(整型)
INdatatype 发送数据的数据类型(句柄)
INdest 目的进程标识(整型)
INtag消息标志(整型)
INcomm 通信域(句柄)
OUT request非阻塞通信完成对象(句柄)
int MPI_Issend(void* buf, int count, MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm, MPI_Request *request)
MPI_ISSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
<type>BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR

讲解:
MPI_ISSEND开始一个同步模式的非阻塞发送,它的返回只是意味着相应的接收操作已经启动,并不表示消息发送的完成。

缓存非阻塞发送
MPI_IBSEND(buf, count, datatype, dest, tag, comm, request)
INbuf发送缓冲区的起始地址(可选数据类型)
INcount发送数据的个数(整型)
INdatatype 每个数据的数据类型(句柄)
INdest 目的进程标识(整型)
INtag消息标志(整型)
INcomm 通信域(句柄)
OUT request非阻塞通信完成对象(句柄)
int MPI_Ibsend(void* buf, int count, MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm, MPI_Request *request)
MPI_IBSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
<type>BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)

讲解:
MPI_IBSEND开始一个缓存模式的非阻塞发送。与阻塞发送一样,它也需要程序员主动为该发送操作提供发送缓冲区。

就绪非阻塞发送
MPI_IRSEND(buf, count, datatype, dest, tag, comm, request)
INbuf发送缓冲区的起始地址(可选数据类型)
INcount发送数据的个数(整型)
INdatatype 发送数据的数据类型(句柄)
INdest 目的进程标识(整型)
INtag消息标志(整型)
INcomm 通信域(句柄)
OUT request非阻塞通信对象(句柄)
int MPI_Irsend(void* buf, int count, MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm, MPI_Request *request)
MPI_IRSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
<type>BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR

讲解:
MPI_IRSEND开始一个接收就绪通信模式非阻塞发送。与阻塞通信一样,它也要求当这一调用启动之前,相应的接收操作必须已经启动,否则回出错。