Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Выполняет атомарное чтение, изменение и запись и возвращает данные перед операцией накопления.
Синтаксис
int MPIAPI MPI_Get_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
);
Параметры
origin_addr [in]
начальный адрес буфераorigin_count
количество записей в буфереorigin_datatype
тип данных каждой записи буфераresult_addr [out]
начальный адрес буфера результатовresult_count
количество записей в буфере результатовresult_datatype
тип данных каждой записи в буфере результатовtarget_rank
ранг целевого объектаtarget_disp
смещение от начала окна до начала целевого буфераtarget_count
число записей в целевом буфереdatatype
тип данных каждой записи в целевом буфереOp
предопределенная операция уменьшенияВыиграть
объект window
Возвращаемое значение
Возвращает MPI_SUCCESS об успешном выполнении. В противном случае возвращаемое значение является кодом ошибки.
В Fortran возвращаемое значение хранится в параметре IERROR .
Fortran
MPI_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, 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, IERROR
Комментарии
Накапливать origin_count элементов типа origin_datatype из исходного буфера (origin_addr) в буфер с смещением target_disp в целевом окне, заданном параметром target_rank , и win, используя операцию операции и возвращая в буфере результатов result_addr содержимое целевого буфера перед накоплением, заданным target_disp. target_count и target_datatype. Данные, передаваемые от источника к целевому объекту, должны помещаться в целевой буфер без усечения. Аналогичным образом, данные, скопированные из целевого объекта в источник, должны помещаться в буфер результатов без усечения.
Исходный и результирующий буферы (origin_addr и result_addr) должны быть несвязанными. Каждый аргумент типа данных должен быть предопределенным или производным типом данных, где все базовые компоненты имеют один и тот же предопределенный тип данных. Все аргументы типа данных должны быть созданы на основе одного и того же предопределенного типа данных. Операция операции применяется к элементам этого предопределенного типа. target_datatype не должны указывать перекрывающиеся записи, а целевой буфер должен помещаться в целевое окно или в подключенной памяти в динамическом окне. Операция выполняется атомарно для каждого базового типа данных.
Требования
Продукт |
Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI распространяемый пакет или служебные программы клиента ПАКЕТА HPC 2008 |
Заголовок |
Mpi.h; Mpif.h |
Библиотека |
Msmpi.lib |
DLL |
Msmpi.dll |