Kommunikationszeiten für den globalen Austausch von Paketen mit N=2.000.000 (ca. 16 MB) und Aufsummieren über alle Prozessoren (=geringer CPU-Anteil)

Variante mit MPI_send und MPI_recv (Austausch in jedem Schritt, Hypercube):

Komm.zeit mit Send + Recv (Cube)

Variante mit MPI_send und MPI_recv (baumartige Kommunikation: Tree_Up/Tree_Down):

Komm.zeit mit Send + Recv (Tree)

Variante mit MPI_Allreduce
Die Implementierung dieser Routine ist bei LAM-MPI offenbar nicht gut gelungen.

Komm.zeit mit Allreduce

Auch für 128 Prozessoren sieht der Vergleich ähnlich aus. Das dritte Diagramm zeigt die Zeiten, die mit MPI_sendrecv erhalten wurden, also nahezu eine Halbierung der Transferzeiten gegenüber der Version mit MPI_send und MPI_recv.

Komm.zeit mit Allreduce Komm.zeit mit Send/Recv Komm.zeit mit sendrecv