ALIs

kommt noch

LAPACK: Subroutinen für 'volle' lineare Systeme

Allgemeine Hinweise und Dokumentation zu den LAPACK-Routinen

LAPACK ist eine Public-Domain Lineare Algebra Bibliothek mit besonders effizienten Subroutinen für "volle" lineare Systeme ("dense" im Gegensatz zu "sparse"). Es stellt eine Weiterentwicklung der EISPACK- und LINPACK-Programmpakete dar, so daß Routinen aus EISPACK oder LINPACK, die auch in LAPACK enthalten sind, durch die LAPACK-Routine ersetzt werden sollten.
Die Performanceverbesserung wurde sowohl durch Integration von Level 2 und 3 BLAS-Routinen als auch durch Einsatz modernerer Algorithmen der linearen Algebra erzielt.
Auf den am LRZ verfügbaren Rechnern sind in der Regel von den jeweiligen Herstellern für ihre Plattform optimierte Versionen der Version 3 von LAPACK im Einsatz. In dieser Version sind gegenüber der Vorversion einige Neuerungen insbesondere bei den Algorithmen für die Singulärwertzerlegung sowie der Eigenwertprobleme enthalten. Die Neuerungen sind dabei auch unter neuen Namen anzusprechen und die früher implementierten Algorithmen weiterhin unter den bisherigen Namen verfügbar.

Ausführlichere Information finden Sie im

LAPACK Users' Guide

(für die ältere Version 2 wird der Users' Guide auch noch vorgehalten).

Neben diesem Users' Guide kann man sich zusätzlich die UNIX manual pages zu LAPACK 3 von netlib herunterladen und lokal auf einer Workstation oder einem Linux-PC installieren.

LAPACK Funktionalität in den NAG Bibliotheken

Die LAPACK Programmier-Schnittstelle wird insbesondere von den NAG Bibliotheken als Teil deren Funktionalität bereitgestellt.
Dokumentation findet sich dazu in den

Kapiteln F07 und F08

des NAG-Manuals (siehe entsprechenden Link im NAG Dokument).
Bei Vorhandensein von speziell für einen Rechnertyp vom Hersteller erzeugtem und optimiertem LAPACK-Code wird man diesem gegenüber den NAG-Routinen i.a. hinsichtlich der Effektivität den Vorzug geben, hinsichtlich des Testens auf richtige Ergebnisse können sie aber nützlich sein.

LAPACK Testprogramme

Neben der Implementierung der LAPACK Schnittstelle stellt die Firma NAG auch Beispiel-Programme zur Benutzung der Schnittstelle zur Verfügung.

Verwendung von LAPACK-Routinen auf LRZ Systemen

Linux-Cluster (IA32 und EM64T/x86_64)

Generell empfehlen wir die Implementierung von LAPACK, die in der Intel MKL verfügbar ist. Nicht explizit durch das LRZ unterstützte Alternativen:

  • In der ATLAS-Bibliothek sind einige Routinen aus LAPACK verfügbar.

  • Die für AMD Opteron optimierten ACML Bibliotheken sind auf den entsprechenden Systemen installiert und können durch ein entsprechendes Environment Modul zugeschaltet werden.

Itanium-basierte Systeme einschl. sgi Altix

  • Auch hier ist Intel MKL die empfohlene Bibliothek

  • Auf Altix Systemen kann auch SGI's SCSL verwendet werden. Insbesondere im Multi-Thread Modus kann das dort die bessere Wahl sein.