【文件属性】:
文件名称:标准阻塞型点对点通信函数-grid layout in css
文件大小:1018KB
文件格式:PDF
更新时间:2024-07-05 18:55:27
MPI
第三章 点对点通信
点对点通信指在一对进程之间进行的消息收发操作: 一个进程发送消息, 另一个进程接收消息.
§3.1 标准阻塞型点对点通信函数
§3.1.1 标准阻塞发送
C
int MPI_Send(void *buff, int count,
MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm)
Fortran 77
MPI_SEND(BUFF, COUNT, DATATYPE, DEST, TAG, COMM, IERR)
BUFF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERR
tag 的取值范围为 0 - MPI_TAG_UB.
dest 的取值范围为 0 - np-1 (np 为通信器 comm 中的进程数) 或 MPI_PROC_NULL.
count 是指定数据类型的个数, 而不是字节数.
§3.1.2 阻塞接收
C
int MPI_Recv(void *buff, int count,
MPI_Datatype datatype, int source, int tag,
MPI_Comm comm, MPI_Status *status)
Fortran 77
MPI_RECV(BUFF, COUNT, DATATYPE, SOURCE, TAG, COMM,
+ STATUS, IERR)
BUFF(*)
INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, IERR
INTEGER STATUS(MPI_STATUS_SIZE)
tag 的取值范围为 0 - MPI_TAG_UB, 或 MPI_ANY_TAG.
source 的取值范围为 0 - np-1 (np 为通信器 comm 中的进程数), 或 MPI_ANY_SOURCE, 或
MPI_PROC_NULL.
count 给出接收缓冲区的大小 (指定数据类型的个数), 它是接收数据长度的上界. 具体接收到的
数据长度可通过调用 MPI_Get_count 函数得到.
16