Das Kefk Network Wiki befindet sich im Testbetrieb.


Basic Linear Algebra Subprograms

Aus Kefk.

Wechseln zu: Navigation, Suche

Basic Linear Algebra Subprograms (BLAS) bezeichnet eine Softwarebibliothek, die elementare Operationen der linearen Algebra wie Vektor- und Matrixmultiplikationen implementiert. Es gibt eine Vielzahl von Implementierungen in verschiedenen Sprachen bzw. für verschiedene Architekturen und Plattformen. Der Vorteil von BLAS liegt nicht nur in der Wiederverwendbarkeit und der Arbeitserleichterung für den Programmierer, sondern auch in der Möglichkeit für Hardwarehersteller für diese häufig gebrauchten Subroutinen hochoptimierte, zum Teil in Assembler realisierte Implementierungen bereitzustellen. Daher findet BLAS vor allem im Supercomputing-Bereich breite Verwendung.

Inhaltsverzeichnis

Funktionalität

Die Funktionalität von BLAS wird in drei Stufen (Level) unterteilt.

Level 1

Level 1 enthält Vektor-Rechenoperationen der Form

\mathbf{y} \leftarrow \alpha \mathbf{x} + \mathbf{y} \!

sowie unter anderem Skalarprodukt und Vektornormen.

Level 2

Level 2 enthält Vektor-Matrix-Rechenoperationen der Form

\mathbf{y} \leftarrow \alpha A \mathbf{x} + \beta \mathbf{y} \!

sowie unter anderem das Lösen von T \mathbf{x} = \mathbf{y} nach x mit Matrix T in Dreiecksform.

Level 3

Level 3 enthält Matrix-Rechenoperationen der Form

C \leftarrow \alpha A B + \beta C \!

sowie unter anderem das Lösen von B \leftarrow \alpha T^{-1} B für Matrix T in Dreiecksform. Dieser Level enthält die oft benötigte Matrixmultiplikation.

Implementierung

refblas
Offizielle Referenzimplementierung von netlib. C und Fortran 77 Versionen sind verfügbar.[1]
ACML
AMD Core Math Library, für AMD Athlon und Opteron CPUs unter Linux und Windows.[2]
ATLAS
Automatically Tuned Linear Algebra Software, ein Open Source Implementation der BLAS APIs für C und Fortran 77.[3]
ESSL
IBM's Engineering and Scientific Subroutine Library, für die PowerPC Architektur unter AIX und Linux.[4]
Goto BLAS
Kazushige Goto's BLAS-Implementation.[5]
HP MLIB
HP's Math library, für Itanium, PA-RISC, x86 und Opteron Architekturen unter HPUX und Linux.
IMKL
Intel Math Kernel Library, für Intel Pentium und Itanium CPUs unter Linux und Windows.[6]
uBLAS
Eine generische C++ Klassenbibliothek, welche BLAS Funktionalität bereitstellt, Teil der Boost-Bibliothek.[7]

Weblinks

Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Basic_Linear_Algebra_Subprograms, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge
Andere Sprachen