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


функция MPI_Rsend

Выполняет операцию отправки в готовом режиме и возвращается, когда буфер отправки можно безопасно использовать повторно.

Синтаксис

int MPIAPI MPI_Rsend(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          dest,
           int          tag,
           MPI_Comm     comm
);

Параметры

  • buf [in, необязательный]
    Указатель на буфер, содержащий отправляемые данные.

  • count
    Количество элементов в буфере. Если часть данных сообщения пуста, задайте для параметра count значение 0.

  • datatype
    Тип данных элементов в буфере.

  • Dest
    Ранг процесса назначения в коммуникаторе, заданный параметром comm .

  • Тег
    Тег сообщения, который можно использовать для различения различных типов сообщений.

  • Comm
    Дескриптор для коммуникатора.

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

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

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

Fortran

    MPI_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Комментарии

Эта функция не является локальной. Эта функция возвращает значение, как только буфер отправки может быть использован повторно, и не зависит от состояния операции получения сопоставления. Однако успешное завершение общей операции отправки зависит от наличия соответствующей операции получения.

Эта функция может вызываться только в том случае, если операция получения сопоставления уже опубликована. В противном случае функция возвращает ошибку, а ее результат не определен. В некоторых системах это требование устраняет некоторые из подтверждений, используемых в других режимах, и может повысить производительность по сравнению со стандартными или синхронными операциями отправки.

Функция MPI_Rsend имеет ту же семантику, что и функции MPI_Send и MPI_Ssend , но уведомляет систему о том, что соответствующий прием уже опубликован. Эта информация может сэкономить некоторые издержки. Таким образом, в правильной программе готовую отправку можно заменить стандартной отправкой, не влияя на поведение программы, кроме производительности.

Требования

Продукт

Распространяемый пакет 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

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv