função MPI_Ireduce
Executa uma operação de redução global (por exemplo, soma, máximo ou lógico e) em todos os membros de um grupo de forma não bloqueada.
Sintaxe
int MPIAPI MPI_Ireduce(
_In_ void *sendbuf,
_Out_opt_ void *recvbuf,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ MPI_Op op,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parâmetros
de sendbuf [in]
O ponteiro para um buffer que contém os dados dessa classificação a serem usados na redução. O buffer consiste emcontagem elementos sucessivos doMPI_Datatype indicados pelo identificador de tipo de dados. O comprimento da mensagem é especificado em termos de número de elementos, não número de bytes. recvbuf [out, opcional]
O ponteiro para um buffer para receber o resultado da operação de redução. Esse parâmetro é significativo apenas no processo raiz.contagem [in]
O número de elementos a serem enviados desse processo.de tipo de dados [in]
O identificador de MPI_Datatype que representa o tipo de dados de cada elemento em de sendbuf.op [in]
O identificador MPI_Op indicando a operação de redução global a ser executada. O identificador pode indicar uma operação interna ou definida pelo aplicativo. Para obter uma lista de operações predefinidas, consulte o tópico MPI_Op.raiz [in]
A classificação do processo de recebimento no MPI_Commde mensagens .comm [in]
O identificador do MPI_Comm comunicador.solicitação [out]
O identificador MPI_Request que representa a operação de comunicação..
Valor de retorno
Retorna MPI_SUCCESS com êxito. Caso contrário, o valor retornado é um código de erro.
No Fortran, o valor retornado é armazenado no parâmetro IERROR.
Fortran
MPI_IREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR
Observações
Uma chamada sem bloqueio inicia uma operação de redução coletiva que deve ser concluída em uma chamada de conclusão separada. Uma vez iniciada, a operação pode progredir independentemente de qualquer computação ou outra comunicação nos processos participantes. Dessa forma, as operações de redução sem bloqueio podem atenuar possíveis efeitos de sincronização de operações de redução executando-as em "segundo plano".
Todas as chamadas de conclusão (por exemplo, MPI_Wait) têm suporte para operações de redução sem bloqueio.
Requisitos
Produto |
Microsoft MPI v6 |
Cabeçalho |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |