Funktionsübersicht
. .
Kollektive Operationen
Hilfesystem für den Message Passing Interface Standard MPI
MPI_Reduce
Führt eine globale Operation aus; der Prozeß 'root' erhält das
Resultat
Syntax:
MPI_Reduce(sendbuf, recvbuf, count, datatype, op, root, comm)
Input Parameter:
sendbuf - Startadresse des Sendepuffers
count - Anzahl der Elemente im Sendepuffer (integer)
datatype - Datentyp der Elemente von sendbuf (handle)
op - auszuführende Operation
(handle)
root - Rang des Prozesses in comm, der das Ergebnis haben
soll (integer)
comm - Kommunikator (handle)
Output Parameter:
recvbuf - Adresse des Puffers, in den das Ergebnis abgelegt
wird (nur für 'root' signifikant)
Anmerkung:
Die globale Operation wird für jedes einzelne Element des
Sendepuffers ausgeführt. Das erste Element im Empfangspuffer
enthält also das Ergebnis der Operation über den ersten Elementen
aller Prozesse usw.
Aufruf:
#include "mpi.h"
int myid;
int recvbuf[DATASIZE], sendbuf[DATA_SIZE];
...
/* Minimum bilden */
MPI_Reduce(sendbuf, recvbuf, DATA_SIZE, MPI_INT, MPI_MIN,
0, MPI_COMM_WORLD);
...
Beispiel