-
MPI-2 definiert für einige (vor allem kollektive) Funktionen, wie sich die
Bedeutung auf Intercommunicator überträgt.
-
Erzeugung von Intercommunicatoren
MPI_Comm_create(MPI_Comm old, MPI_Group group, MPI_Comm *new)
Bedeutung: newcomm enthält jeweils die lokalen Teilgruppen
-
(insbesondere ist group nur innerhalb der lokalen Gruppe identisch)
-
gerichteter Datenfluß (Funktionen mit root-Task)
MPI_Bcast(void* buf, int count, MPI_Datatype type, int root, MPI_Comm comm)
Bedeutung: Task root in Gruppe A schickt an alle in Gruppe B
root = MPI_ROOT für Task root,
= MPI_PROC_NULL für alle anderen in Gruppe A
= rank(root) für alle in Gruppe B
-
ungerichteter Datenfluß (Funktionen ohne root-Task)
MPI_Allreduce(void* sendbuf, void* recvbuf, int count, MPI_Datatype type, MPI_Op op, MPI_Comm comm)
Bedeutung: Ergebnis der Reduktion aller Werte in Gruppe A landet bei allen
von Gruppe B und umgekehrt.