MPI_Irecv函数

启动接收操作,并返回请求的通信操作的句柄。

语法

int MPIAPI MPI_Irecv(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          source,
           int          tag,
           MPI_Comm     comm,
  _Out_    MPI_Request  *request
);

参数

  • buf [in, optional]
    指向包含要发送的数据的缓冲区的指针。

  • 计数
    缓冲区数组中的元素数。 如果消息的数据部分为空,请将 count 参数设置为 0。

  • datatype
    缓冲区中元素的数据类型。

  • source
    指定通信器中发送进程的排名。 指定 MPI_ANY_SOURCE 常量以指定任何源都是可接受的。

  • 标签
    可用于区分不同类型的消息的消息标记。 指定 MPI_ANY_TAG 常量以指示任何标记都是可接受的。

  • comm
    通信器的句柄。

  • request [out]
    返回时,包含请求的通信操作的句柄。

返回值

返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。

在 Fortran 中,返回值存储在 IERROR 参数中。

Fortran

    MPI_IRECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR

注解

此函数是本地函数,它会立即返回,并且不会等待任何其他进程。 此函数可以在消息接收到缓冲区之前返回 。

要求

产品

HPC Pack 2012 MS-MPI 可再发行程序包、HPC Pack 2008 R2 MS-MPI 可再发行程序包、HPC Pack 2008 MS-MPI 可再发行程序包或 HPC Pack 2008 客户端实用工具

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI 点到点函数

MPI_Send

MPI_Recv

MPI_Wait

MPI_Test

MPI_Comm

MPI_Datatype