MPI_Allreduce functie
Combineert waarden uit alle processen en distribueert het resultaat terug naar alle processen.
Syntaxis
int MPIAPI MPI_Allreduce(
_In_opt_ const void *sendbuf,
_Out_opt_ void *recvbuf,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ MPI_Op op,
_In_ MPI_Comm comm
);
Parameters
sendbuf [in, optioneel]
De aanwijzer naar de gegevens die naar alle processen in de groep moeten worden verzonden. Het aantal en het gegevenstype van de elementen in de buffer worden opgegeven in de parameters count en datatype.Als de comm parameter verwijst naar een intracommunicator, kunt u een in place optie opgeven door MPI_IN_PLACE in alle processen op te geven. In dit geval worden de invoergegevens bij elk proces opgehaald uit de ontvangstbuffer, waar deze worden vervangen door de uitvoergegevens.
recvbuf [uit, optioneel]
De aanwijzer naar een buffer om het resultaat van de reductiebewerking te ontvangen. Deze parameter is alleen van belang in het hoofdproces.aantal [in]
Het aantal elementen dat vanuit dit proces moet worden verzonden.datatype [in]
De MPI_Datatype van elk element in de buffer. Deze parameter moet compatibel zijn met de bewerking zoals opgegeven in de parameter op .op [in]
De MPI_Op ingang waarmee de globale reductiebewerking wordt aangegeven die moet worden uitgevoerd. De ingang kan een ingebouwde of door de toepassing gedefinieerde bewerking aangeven. Zie MPI_Op voor een lijst met vooraf gedefinieerde bewerkingen.comm [in]
De MPI_Comm communicatorgreep.
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .
Fortran
MPI_ALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, IERROR
Opmerkingen
Als comm een intercommunicator is, wordt het resultaat van de vermindering van de gegevens geleverd door processen in groep A opgeslagen bij elk proces in groep B, en omgekeerd. Beide groepen moeten argumenten voor aantal en gegevenstype opgeven die dezelfde typehandtekening opgeven.
Alle voltooiingsoproepen (bijvoorbeeld MPI_Wait) worden ondersteund voor niet-blokkerende reductiebewerkingen.
Vereisten
Product |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package of HPC Pack 2008 Client Utilities |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |