MPI_Sendrecv 函数

发送和接收消息。

语法

int MPIAPI MPI_Sendrecv(
  _In_  void         *sendbuf,
        int          sendcount,
        MPI_Datatype sendtype,
        int          dest,
        int          sendtag,
  _Out_ void         *recvbuf,
        int          recvcount,
        MPI_Datatype recvtype,
        int          source,
        int          recvtag,
        MPI_Comm     comm,
  _Out_ MPI_Status   *status
);

参数

  • sendbuf [in]
    发送缓冲区的初始地址。

  • sendcount
    发送缓冲区中的元素数。

  • sendtype
    发送缓冲区中元素的类型。

  • dest
    目标排名。

  • sendtag
    发送标记。

  • recvbuf [out]
    接收缓冲区的初始地址。

  • recvcount
    接收缓冲区中的元素数。

  • recvtype
    接收缓冲区中元素的类型。

  • source
    源的排名。

  • recvtag
    接收标记。

  • comm
    沟通。

  • status [out]
    引用接收操作的状态对象。

返回值

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

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

Fortran

    MPI_SENDRECV(SENDBUF, SENDCOUNT, SENDTYPE, DEST, SENDTAG, RECVBUF,
            RECVCOUNT, RECVTYPE, SOURCE, RECVTAG, COMM, STATUS, IERROR)
        <type> SENDBUF(*), RECVBUF(*)
        INTEGER SENDCOUNT, SENDTYPE, DEST, SENDTAG, RECVCOUNT, RECVTYPE,
        SOURCE, RECVTAG, COMM, STATUS(MPI_STATUS_SIZE), 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 点到点函数