MPI_Ireduce, functie
Voert een globale reductiebewerking uit (bijvoorbeeld som, maximum of logisch en) voor alle leden van een groep op een niet-blokkerende manier.
Syntaxis
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
);
Parameters
sendbuf [in]
De aanwijzer naar een buffer met de gegevens uit deze rang die moeten worden gebruikt in de reductie. De buffer bestaat uit aantal opeenvolgende elementen van de MPI_Datatype aangegeven door de gegevenstype ingang. De berichtlengte wordt opgegeven in termen van het aantal elementen, niet het aantal bytes.recvbuf [uit, optioneel]
De aanwijzer naar een buffer om het resultaat van de reductiebewerking te ontvangen. Deze parameter is alleen belangrijk bij het hoofdproces.aantal [in]
Het aantal elementen dat moet worden verzonden vanuit dit proces.gegevenstype [in]
De MPI_Datatype ingang die het gegevenstype van elk element in sendbuf-vertegenwoordigt.op [in]
De MPI_Op ingang die aangeeft dat de globale reductiebewerking moet worden uitgevoerd. De ingang kan duiden op een ingebouwde of toepassingsgedefinieerde bewerking. Zie het onderwerp MPI_Op voor een lijst met vooraf gedefinieerde bewerkingen.root [in]
De rang van het ontvangende proces binnen de MPI_Commcomm.comm [in]
De MPI_Comm communicatorgreep.[uit]
De MPI_Request greep die de communicatiebewerking vertegenwoordigt..
Retourwaarde
Retourneert MPI_SUCCESS op succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR.
Fortran
MPI_IREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR
Opmerkingen
Een niet-blokkerende aanroep initieert een collectieve verminderingsbewerking die moet worden voltooid in een afzonderlijke voltooiingsoproep. Zodra de bewerking is gestart, kan de bewerking onafhankelijk van elke berekening of andere communicatie bij deelnemende processen worden uitgevoerd. Op deze manier kunnen niet-blokkerende reductiebewerkingen mogelijke synchronisatie-effecten van reductiebewerkingen beperken door ze op de achtergrond uit te voeren.
Alle voltooiingsoproepen (bijvoorbeeld MPI_Wait) worden ondersteund voor niet-blokkerende reductiebewerkingen.
Eisen
Product |
Microsoft MPI v6 |
Rubriek |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |