LINPACK

Programmbibliothek
(Weitergeleitet von Linpack)

LINPACK bezeichnete zunächst nur eine numerische Programmbibliothek zum Lösen von linearen Gleichungssystemen. Später wurde der Name auch für ein Programm zum Messen der Geschwindigkeit eines Computers verwendet. In der Urfassung dieses Messprogramms wird fast die gesamte Arbeit in zwei Unterprogrammen aus der genannten Programmbibliothek erledigt.

Hintergrund

Bearbeiten

LINPACK, das für Linear System Package steht, wurde 1979 von Jack Dongarra, Cleve Moler, Gilbert W. Stewart für Fortran verfasst. Das Messprogramm LINPACK wird zur Leistungsmessung von Supercomputern eingesetzt, da bei den dort häufig implementierten impliziten Lösungsverfahren das Lösen von linearen Gleichungssystemen eine entscheidende Rolle spielt. Das Ergebnis wird in Gleitkommaoperationen pro Sekunde (FLOPS) angegeben und in der TOP500-Liste der schnellsten Supercomputer veröffentlicht. Es gibt von LINPACK auch Versionen für die Programmiersprachen C, C++, Pascal, Java und anderen. Mittlerweile gilt der LINPACK-Benchmark als überholt, als Nachfolger gilt LAPACK, das vor allem für Shared-Memory- und Vektor-Supercomputer geeignet ist und auf diesen auch performanter läuft.[1]

Aufbau des Benchmarkes

Bearbeiten

Der Benchmark ist in drei Untertest aufgeteilt.

Fortran n = 100 Benchmark

Bearbeiten

Der erste Benchmark besteht darin, eine voll besetzte 100x100 Matrix zu faktorisieren und ein Gleichungssystem durch Zerlegung zu lösen.

Die Grundregeln für die Ausführung dieses Benchmarks sind, dass keine Änderungen am Fortran-Code vorgenommen werden dürfen, es dürfen auch keine Kommentare verändert oder entfernt werden. Nur die Compileroptimierung kann zur Leistungssteigerung eingesetzt werden.[2]

Linpack n = 1000 Benchmark

Bearbeiten

Dieser Test ist dem ersten recht ähnlich, mit dem Unterschied, dass hier eine 1000x1000 Matrix zu lösen ist, sowohl der Lösungsalgorithmus als auch die Programmiersprache können allerdings frei gewählt werden.

Die einzige Bedingung besteht darin, dass das Ergebnis eine bestimmte Genauigkeit aufweisen muss, um mit anderen vergleichbar zu sein.[1]

Linpack’s Highly Parallel Computing Benchmark

Bearbeiten

Bei diesem Benchmark kann neben dem Algorithmus und der Sprache auch die Größe der Matrix gewählt werden. Allerdings besteht auch hier wieder die Bedingung, dass das Ergebnis eine gewisse Genauigkeit ausweisen muss.[1]

Der Benchmark bewertet Systeme nur im Bezug auf deren Rechengeschwindigkeit beim Lösen linearer Gleichungssysteme. Die Problemstellung, die der LINPACK-Benchmark zu lösen versucht, stellt allerdings eine untypische Anwendung dar, da hier voll besetzte Gleichungssysteme zur Anwendung kommen. Dabei liegt die Anzahl der benötigten Operationen mit N Unbekannten und N Gleichungen in der Größenordnung von  .

Außerdem wird kritisiert, dass der LINPACK-Benchmark zwar die Leistung misst, nicht aber die Effizienz des Supercomputers berücksichtigt.[3]

LINPACK-Benchmarkergebnisse (Stand November 2018)

Bearbeiten
Ausgewählte LINPACK-Benchmarks
Computer Beschreibung Position
TOP500[4]
LINPACK
Rmax in TeraFLOPS
Summit Oak Ridge National Laboratory, Oak Ridge, USA 1. ca. 143.500,0
Sierra Lawrence Livermore National Laboratory, USA 2. ca. 94.640,0
Sunway TaihuLight National Supercomputing Center, Wuxi China 3. ca. 93.014,6
Tianhe-2 National Super Computer Center, Guangzhou

China

4. ca. 61.444,5
Piz Daint Swiss National Supercomputing Centre, Schweiz 5. ca. 21.230,0
Trinity Vereinigte Staaten von Amerika 6. ca. 20.158,7
AI Bridging Cloud Infrastructure National Institute of Advanced Industrial Science and Technology, Japan 7. ca. 19.880,0
SuperMUC-NG Leibniz-Rechenzentrum, Deutschland 8. ca. 19.476,6
Titan (Computer) Oak Ridge National Laboratory, USA 9. ca. 17.590,0
Sequoia 10. ca. 17.173,2
CPU Beschreibung LINPACK
Rmax in GigaFLOPS
2 × AMD Opteron 6274, 2,2 GHz Server im Jahr 2012 (64 Bit) ca. 204,9 [5]
2 × Intel Xeon DP X5680, 3,33 GHz Workstation im Jahr 2010 (64 Bit) ca. 94,8 [6]
Intel Core i7, 3,20 GHz, 4 Kerne Standard-PC im Jahr 2009 (64 Bit) ca. 33,0 [7]
Intel Core 2 Quad, 2,66 GHz Standard-PC im Jahr 2007 (64 Bit) ca. 23,5 [8]
Intel Core 2 Duo, 2,66 GHz Standard-PC im Jahr 2007 (64 Bit) ca. 12,5 [8]
AMD Athlon 64 X2 6000+, 3,00 GHz Standard-PC im Jahr 2007 (64 Bit) ca. 8,4 [8]
Intel Itanium 2, 1,6 GHz Workstation (64 Bit) ca. 6,4 [9]
Intel Pentium 4, 3,2 GHz Standard-PC im Jahr 2003 ca. 3,1 [9]
Intel Pentium II, 450 MHz Standard-PC im Jahr 1999 ca. 0,4
Raspberry Pi, 700 MHz Educational Board ca. 0,01625
Intel 386DX, 33 MHz Standard-PC im Jahr 1989 ca. 0,008
Bearbeiten

Einzelnachweise

Bearbeiten
  1. a b c Supercomputer-Benchmarks: Linpack Seite 3. 21. Juli 2006, abgerufen am 26. Mai 2019.
  2. Linpack FAQ: n=100 Benchmark. Abgerufen am 26. Mai 2019 (englisch).
  3. Die USA haben die schnellsten. 12. November 2018, abgerufen am 26. Mai 2019.
  4. Top500 November 2018. Abgerufen am 26. Mai 2019 (englisch).
  5. http://amd-dev.wpengine.netdna-cdn.com/wordpress/media/2012/10/linpack_wp_bd_2.pdf, erstellt am 24.4.2012 mit ACML (the AMD Core Math Library) und Open64 Compiler unter Suse Linux
  6. Tecchannel Linpack Benchmarks (Memento vom 1. Januar 2016 im Internet Archive)
  7. http://www.tecchannel.de/pc_mobile/prozessoren/1775602/core_i7_test_intel_nehalem_quad_hyper_threading_speicher_benchmarks/index11.html, getestet mit nur ca. 1,6 GB Speichernutzung
  8. a b c Tecchannel Linpack Benchmark (Memento vom 9. Dezember 2015 im Internet Archive)
  9. a b Cell Broadband Engine Architecture and its first implementation