Interkommunikator in MPI-1
Kommunikation zwischen zwei disjunkten Gruppen
in vielen Funktionen Interkommunikator statt Intra-Kommunikator möglich
Ausnahme (in MPI-1): kollektive Operationen
Rank eines Tasks:
bezogen auf eigene Gruppe für lokale Operation
bezogen auf andere Gruppe für entfernte Operation
Beispiel: Send und Receive mit Intercommunicator
Intercommunicator zwischen Gruppe A und Gruppe B
Task 1 aus Gruppe A sendet an Task 2 in Gruppe B
Task 1 in A:
MPI_Send(..., 2, ... intercomm)
Task 2 in B:
MPI_Recv(..., 1, ... intercomm,...)
Erzeugen eines Intracommunicators mit
MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm *newintercomm)
relativ kompliziert
Funktionen zur Prozeß-Erzeugung liefern Intercommunicator
Verschmelzen eines Intercommunicators zu einem Intracommunicator, der beide Gruppen umfaßt:
MPI_Intercomm_merge(MPI_Comm inter, int high, MPI_Comm *intra)
Peter Junglas 16.2.1999