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


функция MPI_Rput

Операция RMA на основе запроса.

Синтаксис

int MPIAPI MPI_Rput(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype target_datatype,
        MPI_Win      win,
  _Out_ MPI_Request  *request
);

Параметры

  • origin_addr [in]
    Исходный адрес исходного буфера.

  • origin_count
    Количество записей в исходном буфере.

  • origin_datatype
    Тип данных каждой записи в буфере источника.

  • target_rank
    Ранг целевого объекта.

  • target_disp
    Смещение от начала окна к целевому буферу.

  • target_count
    Количество записей в целевом буфере.

  • target_datatype
    Тип данных каждой записи в целевом буфере.

  • Выиграть
    Объект Window, используемый для обмена данными.

  • request [out]
    Запрос RMA.

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

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

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

Fortran

    MPI_RPUT(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK,
                TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, WIN, REQUEST, IERROR)
        <type> ORIGIN_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, WIN, REQUEST, IERROR

Комментарии

MPI_Rput похожа на MPI_Put, за исключением того, что выделяет объект запроса на обмен данными и связывает его с дескриптором запроса ( запрос аргумента). Завершение операции MPI_Rput (т. е. после соответствующего теста или ожидания) указывает, что отправитель теперь может обновлять расположения в исходном буфере. Он не указывает, что данные доступны в целевом окне. Если требуется удаленное завершение, можно использовать MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock или MPI_Win_unlock_all .

Требования

Продукт

Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI распространяемый пакет или служебные программы клиента ПАКЕТА HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

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

Функции One-Sided связи MPI