função MPI_Ireduce
Executa uma operação de redução global (por exemplo, soma, máximo ou lógica 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
sendbuf [in]
O ponteiro para uma memória intermédia que contém os dados desta classificação a utilizar na redução. A memória intermédia consiste na contagem de elementos sucessivos do MPI_Datatype indicados pelo identificador de tipo de dados . O comprimento da mensagem é especificado em termos de número de elementos, não de número de bytes.recvbuf [fora, opcional]
O ponteiro para uma memória intermédia para receber o resultado da operação de redução. Este parâmetro é significativo apenas no processo de raiz.contar [em]
O número de elementos a enviar a partir deste processo.tipo de dados [em]
O MPI_Datatype identificador que representa o tipo de dados de cada elemento no sendbuf.op [in]
A MPI_Op identificador que indica a operação de redução global a executar. A alça pode indicar uma operação incorporada ou definida pela aplicação. Para obter uma lista de operações predefinidas, veja o tópico MPI_Op .raiz [em]
A classificação do processo de receção na MPI_Commcomm.vírgula [em]
O MPI_Comm identificador do comunicador.pedido [fora]
O MPI_Request identificador que representa a operação de comunicação..
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_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 tem de ser concluída numa 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. Desta forma, as operações de redução não bloqueadas podem mitigar possíveis efeitos de sincronização das operações de redução ao executá-las em "segundo plano".
Todas as chamadas de conclusão (por exemplo, MPI_Wait) são suportadas 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 |
Ver também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários