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


функция MPI_Sendrecv_replace

Отправляет и получает с помощью одного буфера.

Синтаксис

int MPIAPI MPI_Sendrecv_replace(
        _Inout_ void *buf,
        int          count,
        MPI_Datatype datatype,
        int          dest,
        int          sendtag,
        int          source,
        int          recvtag,
        MPI_Comm     comm,
  _Out_ MPI_Status   *status
);

Параметры

  • Buf
    Исходный адрес буфера отправки и получения.

  • count
    Количество элементов в буфере отправки и получения.

  • datatype
    Тип элементов в буфере отправки и получения.

  • Dest
    Ранг назначения.

  • sendtag
    Тег отправки сообщения.

  • source
    Ранг источника.

  • recvtag
    Получение тега сообщения.

  • Comm
    Communicator.

  • status [out]
    Объект status.

Возвращаемое значение

Возвращает MPI_SUCCESS при успешном выполнении. В противном случае возвращаемое значение представляет собой код ошибки.

В Fortran возвращаемое значение хранится в параметре IERROR .

Fortran

    MPI_SENDRECV_REPLACE(BUF, COUNT, DATATYPE, DEST, SENDTAG, SOURCE, RECVTAG,
            COMM, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, SENDTAG, 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