Funktionsübersicht . . Kollektive Operationen

Hilfesystem für den Message Passing Interface Standard MPI


MPI_Allgatherv

Sammelt Daten von allen Prozessen einer Gruppe und verbreitet das Resultat an alle anderen (erlaubt Displacements und unterschiedlich große Blöcke)

Syntax:

Input Parameter: Output Parameter: Anmerkung:

Die Größe der beiden Felder muß der Anzahl der Elemente in der Gruppe entsprechen.

Aufruf:


#include "mpi.h"
...

    int           numprocs, sendcount;
    int           *rcounts, *rdispls;
    void          *sendbuf, *recvbuf;
    MPI_Datatype  sendtype, recvtype;
    MPI_Comm      comm;

    ...
    MPI_Comm_size(comm, &numprocs);
    ...
    rcounts=(* int)malloc(numprocs*sizeof(int));
    rdispls=(* int)malloc(numprocs*sizeof(int));

    for (i=0; i<numprocs; i++) {
	rcounts[i]= ...
	rdispls[i]= ...
    }
    MPI_Allgatherv(sendbuf, sendcount, sendtype, 
                   recvbuf, rcounts, rdispls, recvtype, 
                   comm);
    ...