Поделиться через


функция 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
    Communicator.

  • 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 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI распространяемый пакет или служебные программы клиента ПАКЕТА HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

См. также раздел

Функции типа "точка — точка" MPI