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.
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 ProgrammiersprachenC, 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
Der Benchmark ist in drei Untertest aufgeteilt.
Fortran n = 100 Benchmark
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
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
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]
Kritik
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]