Die Korrektheit der Resultate überprüften wir mit zwei verschiedenen Programmen (siehe auch Abschnitt 8.7 auf Seite
:
Abbildung: Relativer Fehler
in Abhängigkeit der Matrixdimension
Tabelle 7.1 zeigt die erreichten Performancewerte auf der Minimalkonfiguration (3 Prozessoren) und Tabelle 7.2 zeigt die Performance auf der Maximalkonfiguration (63 Prozessoren).
Tabelle 7.1: LINPACK und LAPACK Performance in Mflop/s auf MUSIC-1 (3 Prozessoren)
Tabelle 7.2: LINPACK und LAPACK Performance in Mflop/s auf MUSIC-21 (63 Prozessoren)
Abbildung: Performance in Abhängigkeit der Matrixgrösse für verschiedene Systeme, ungeblockter Algorithmus
Abbildung: Performance in Abhängigkeit der Matrixgrösse für verschiedene Systeme, geblockter Algorithmus
Die Minimalkonfiguration des MUSIC-Systems hat 3 Prozessoren. Wir haben zwar ein Programm geschrieben, das auf nur einem Prozessor arbeitet, zur Berechnung des Speedups kann dieses Programm jedoch nicht herbeigezogen werden, da es nicht gleich optimiert worden ist, wie das Programm für das Mehrprozessorsystem. Wir haben deshalb unseren Speedup immer gegenüber dem Dreiersystem berechnet und normiert. Das Dreiersystem bekommt also einen Speedup von 3. Abbildungen 7.4 und 7.5 zeigen den Speedup für den ungeblockten sowie den geblockten Algorithmus. Abbildung 7.6 zeigt die Effizienz des Speedups (
) für ein
System.
Abbildung: Speedup in Abhängigkeit der Anzahl Prozessoren für verschiedene Matrixgrössen, ungeblockter Algorithmus
Abbildung: Speedup in Abhängigkeit der Anzahl Prozessoren für verschiedene Matrixgrössen, geblockter Algorithmus
Abbildung:
für ein
System, ungeblockter Algorithmus
Der Speedup berechnet sich wie folgt:
wobei in unserem Fall
ist. Wir kommen zu guten Übereinstimmungen im Speedup, wenn wir wie folgt einsetzen: