função MPI_Get_accumulate
Executa read-modify-write atómico e devolve os dados antes da operação de acumulação.
Sintaxe
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
);
Parâmetros
origin_addr [em]
endereço inicial da memória intermédiaorigin_count
número de entradas na memória intermédiaorigin_datatype
tipo de dados de cada entrada de memória intermédiaresult_addr [fora]
endereço inicial da memória intermédia de resultadosresult_count
número de entradas na memória intermédia de resultadosresult_datatype
tipo de dados de cada entrada na memória intermédia de resultadostarget_rank
classificação do destinotarget_disp
deslocamento do início da janela para o início da memória intermédia de destinotarget_count
número de entradas na memória intermédia de destinotipo de dados
tipo de dados de cada entrada na memória intermédia de destinoop
operação de redução predefinidaganhar
objeto de janela
Valor devolvido
Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.
Em Fortran, o valor devolvido é armazenado no parâmetro 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
Observações
Acumule origin_count elementos do tipo origin_datatype da memória intermédia de origem (origin_addr) para a memória intermédia no target_disp de deslocamento, na janela de destino especificada por target_rank e win, utilizando a operação op e devolvendo na memória intermédia de resultados result_addr o conteúdo da memória intermédia de destino antes da acumulação, especificada por target_disp, target_count e target_datatype. Os dados transferidos da origem para o destino têm de caber, sem truncagem, na memória intermédia de destino. Da mesma forma, os dados copiados do destino para a origem têm de caber, sem truncagem, na memória intermédia de resultados.
As memórias intermédias de origem e de resultados (origin_addr e result_addr) têm de ser desarticuladas. Cada argumento de tipo de dados tem de ser um tipo de dados predefinido ou um tipo de dados derivado em que todos os componentes básicos sejam do mesmo tipo de dados predefinido. Todos os argumentos de tipo de dados têm de ser construídos a partir do mesmo tipo de dados predefinido. A operação de operação aplica-se a elementos desse tipo predefinido. target_datatype não pode especificar entradas sobrepostas e a memória intermédia de destino tem de caber na janela de destino ou na memória anexada numa janela dinâmica. A operação é executada atomicamente para cada tipo de dados básico.
Requisitos
Produto |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities |
Cabeçalho |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |