180 likes | 339 Views
Linpack Benchmark . Dient zur Performance Messung verschiedener Rechnerarchitekturen. Entstammt dem Linpack Projekt von 1979, der Autor Jack Dongarra ist einer der Initiatoren und Verwalter der top500
E N D
Linpack Benchmark • Dient zur Performance Messung verschiedener Rechnerarchitekturen. • Entstammt dem Linpack Projekt von 1979, der Autor Jack Dongarra ist einer der Initiatoren und Verwalter der top500 • Die ursprüngliche Version ist in Fortran geschreiben. Es gibt allerdings bereits Java und C Portierungen. • Ermittelt wird die Leistung der Anlage beim Lösen eines Linearen Gleichungssystems bei vorgegebener Komplexität.
Was sind Mflop/s ? „millions of floating point operations per second“ Eine Millionen Gleitpunktoperationen in der Sekunde. Gemeint sind hier 64 Bit Operationen entweder Addition oder Multiplikation. Gflop/s sind somit Eine Milliarde Operationen in der Sekunde. Tflop/s sind Eine Billionen Operationen in der Sekunde.
Wie errechnet sich die theoretische Spitzenleistung ? Die maximale Spitzenleistung kann als obere Performance Schranke betrachtet werden, sie wird nie durchbrochen. Zu Ihrer Bestimmung ermittelt man wie viele Gleitpunktoperationen ( gemeint sind Multiplikationen und Additionen ) während eines Taktzykluses durchgeführt werden können. Nun teilt man diese durch die Zyklenlänge.
Beispiel: Die Cray Y-MP/8 hat eine Zyklendauer von 6 ns. Daraus ergibt sich folgende Rechnung: Da die Cray Y-MP/8 mit 8 Prozessoren bestückt ist folgt daraus: 8 * 333 Mflop/s = 2667 Mflop/s maximale Spitzenleistung.
Linpack Benchmark Typen: Es gibt 3 Typen des Linpack Benchmarks. • Typ 1 den Fortran n = 100 Benchmark. • Typ 2 den n = 1000 Benchmark ( TPP, Best Effort ). • Typ 3 den HPC Benchmark welcher zur Ermittlung der Top500 Werte dient.
Typ 1 oder Fortran n = 100 Benchmark • Der erste Linpack Benchmark. • Im Original reiner Fortran Code. • Hier muss ein lineares Gleichungssystem der Ordnung n = 100 gelöst werden. • Wobei bei diesem Typ lediglich mit Compiler Optimierungen ( Flags ) gearbeitet werden darf. Der Fortransourcecode darf nicht verändert werden. Nicht einmal die Kommentare.
Ausgabe des n=100 Benchmarks norm. resid resid machep x(1) x(n) 1.67005097E+00 7.41628980E-14 2.22044605E-16 1.00000000E+00 1.00000000E+00 times are reported for matrices of order 100 dgefa dgesl total mflops unit ratio times for array with leading dimension of 201 1.540E-03 6.888E-05 1.609E-03 4.268E+02 4.686E-03 2.873E-02 1.509E-03 7.084E-05 1.579E-03 4.348E+02 4.600E-03 2.820E-02 ...... times for array with leading dimension of 200 1.431E-03 6.716E-05 1.498E-03 4.584E+02 4.363E-03 2.675E-02 1.424E-03 6.694E-05 1.491E-03 4.605E+02 4.343E-03 2.663E-02 .......
Typ 2 oder n = 1000 Benchmark (TPP, Best Effort) TPP ( Toward Peak Performance ) „Richtung Maximalleistung“ • Diese Version arbeitet mit einer Matrix der Ordnung n = 1000. • Ist im Original implementiert durch einen Fortrantreiber. • Weniger strenge Regelung. Hier dürfen die Algorithmen ebenso wie die Sprache frei gewählt werden. • Die verwendete Matrix muß jedoch identisch mit der Matrix des original Treibers von „netlib“ sein.
Typ 2 oder n = 1000 Benchmark (TPP, Best Effort) • Die Genauigkeit muß folgenden Ansprüchen genügen: Wobei n die Problemgröße darstellt und die Maschinengenauigkeit. Die Maschinengenauigkeit bei IEEE Maschinen beträgt . Da bei bei diesem Benchmark die Problemgröße nicht verändert werden darf, muß hier mit n = 1000 gerechnet werden.
Typ 3 oder HPC Benchmark HPC ( High Parallel Computing Benchmark ) • Dieser Typus wird für den Top500 Report verwendet. • Freie Wahl der Software ( Algorithmen, Sourcecode und Compiler ) und der Problemgröße. • Hier muß allerdings auch die Matrix des „netlib“ Treibers verwendet werden.
Typ 3 oder HPC Benchmark • Die Genauigkeit muß ebenfalls folgenden Ansprüchen genügen: Wobei n die Problemgröße darstellt und die Maschinengenauigkeit. Die Maschinengenauigkeit bei IEEE Maschinen beträgt . Der einzige Unterschied zum n=1000 Benchmark ist, daß ich die Problemgröße frei wählen darf.
Ergebnisse des HPC Benchmarks Rmax : Performance bei der größten Problemstellung Nmax : größte Problemstellung N1/2 : Größe bei der die Hälfte des Rmax erreicht wurde Rpeak : theoretische Maximalleistung
Interessante Links zum Thema FAQ´s und Verschiedene Benchmarks u.a Linpack http://www.netlib.org Cluster@top500 Cluster in der top500 http://clusters.top500.org/ Hier kann eine individulle Liste zusammen gestellt werden. http://performance.netlib.org/performance/html/PDSbrowse.html