【文件属性】:
文件名称:非阻塞型点对点通信函数-grid layout in css
文件大小:1018KB
文件格式:PDF
更新时间:2024-07-05 18:55:28
MPI
§3.4 非阻塞型点对点通信函数
§3.4.1 非阻塞发送
C
int MPI_Isend(void *buf, int count,
MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm, MPI_Request *request)
Fortran 77
MPI_ISEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM,
+ REQUEST, IERR)
BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERR
该函数递交一个消息发送请求, 要求 MPI 系统在后台完成消息的发送. MPI_Isend 函数为该发
送创建一个请求并将请求的句柄通过 request 变量返回给 MPI 进程, 供随后查询/等待消息发送的
完成用.
与阻塞消息发送一样, 非阻塞消息发送也有四种模式: 标准模式 (MPI_Isend)、缓冲模式
(MPI_Ibsend)、同步模式 (MPI_Issend) 和就绪模式 (MPI_Irsend), 后三种模式较少使用, 我们不在此
介绍.
§3.4.2 非阻塞接收
C
int MPI_Irecv(void *buf, int count,
MPI_Datatype datatype,
int source, int tag, MPI_Comm comm,
MPI_Request *request)
Fortran 77
MPI_IRECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM,
+ REQUEST, IERR)
BUF(*)
INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST,
+ IERR
该函数递交一个消息接收请求, 要求 MPI 系统在后台完成消息的接收. MPI_Isend 函数为该接收
创建一个请求并将请求的句柄通过 request 变量返回给 MPI 进程, 供随后查询/等待消息接收的完
成用.
§3.4.3 通信请求的完成与检测
§3.4.3.1 等待、检测一个通信请求的完成
C
21