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


функция MPI_Rget_accumulate

Операция чтения, изменения и записи RMA на основе запроса возвращает данные перед операцией накопления.

Синтаксис

int MPIAPI MPI_Rget_accumulate(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
  _Out_ void         *result_addr,
        int          result_count,
        MPI_Datatype result_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype datatype,
        MPI_Op       op,
        MPI_Win      win,
  _Out_ MPI_Request  *request
);

Параметры

  • origin_addr [in]
    начальный адрес буфера

  • origin_count
    количество записей в буфере

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

  • result_addr [out]
    начальный адрес буфера результатов

  • result_count
    количество записей в буфере результатов

  • result_datatype
    тип данных каждой записи в буфере результатов

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

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

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

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

  • Op
    предопределенная операция reduce

  • Выиграть
    объект window

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

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

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

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

Fortran

    MPI_GET_RACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
                TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, REQUEST, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, OP, WIN, REQUEST, IERROR

Комментарии

MPI_Rget_accumulate похожа на MPI_Get_accumulate, за исключением того, что она выделяет объект запроса на обмен данными и связывает его с дескриптором запроса ( запрос аргумента), который можно использовать для ожидания или проверки завершения. Завершение операции MPI_Rget_accumulate указывает, что данные доступны в буфере результатов, а буфер источника можно обновлять. Это не означает, что операция была завершена в целевом окне.

Требования

Продукт

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