Basic Linear Algebra Subprograms

Basic Linear Algebra Subprograms
BLAS
Betriebssystem plattformunabhängig
Kategorie Programmbibliothek für: Lineare Algebra
www.netlib.org/blas

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.[1] Daher findet BLAS vor allem im Supercomputing-Bereich breite Verwendung.

Die Definition der Schnittstelle zu BLAS ist ein De-facto-Standard.

Inhaltsverzeichnis

Funktionalität

Es werden folgende Datentypen unterstützt: single (32 Bit), double (64 Bit), complex (2 x 32 Bit), doublecomplex (2 x 64 Bit).

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.

Implementierungen

refblas
Offizielle Referenzimplementierung von netlib. C- und Fortran-77-Versionen sind verfügbar.
ACML
AMD Core Math Library, für AMD Athlon und Opteron CPUs unter Linux und Windows.
ATLAS
Automatically Tuned Linear Algebra Software, ein Open-Source-Implementierung der BLAS-APIs für C und Fortran 77.
ESSL
IBMs Engineering and Scientific Subroutine Library, für die PowerPC Architektur unter AIX und Linux.
Goto BLAS
Kazushige Gotos BLAS-Implementierung.[2]
HP MLIB
HPs Math library, für die Architekturen Itanium, PA-RISC, x86 und Opteron unter HPUX und Linux.
IMKL
Intel Math Kernel Library (BLAS, LAPACK, ScaLAPACK, Sparse Solvers, FFT, Vector Math), für Intel Pentium und Itanium CPUs unter Linux und Windows.
MTL4
Die Matrix Template Library Version 4 ist eine generische C++ Template-Bibliothek für schwach und voll besetzte BLAS-Funktionalität. MTL4 bietet ein intuitives Interface (ähnlich MATLAB) und dank Generischer Programmierung eine breite Anwendbarkeit.
uBLAS
Eine generische C++-Klassenbibliothek, welche BLAS-Funktionalität bereitstellt, Teil der Boost-Bibliothek.
CUBLAS
Die Nvidia-Implementierung von BLAS für die CUDA-Technologie.
Armadillo
Die Armadillo Template-Bibliothek ist ein Wrapper für C++.
AmdBLAS
Die AMD-Implementierung von BLAS für das ATI Stream-SDK.

Weblinks

Einzelnachweise

  1. BLAS Benchmark-August2008. eigen.tuxfamily.org (1. August 2008). Abgerufen am 4. März 2010.
  2. Writing the Fastest Code, by Hand, for Fun: A Human Computer Keeps Speeding Up Chips (englisch). New York Times, John Markoff (28. November 2005). Abgerufen am 4. März 2010.

Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Basic Linear Algebra Subprograms — (BLAS) is a de facto application programming interface standard for publishing libraries to perform basic linear algebra operations such as vector and matrix multiplication. They were first published in 1979, and are used to build larger packages …   Wikipedia

  • Basic Linear Algebra Subprograms — (BLAS) sont un ensemble de fonctions standardisées (interface de programmation) réalisant des opérations de base de l algèbre linéaire comme des multiplications de vecteurs ou de matrices. Ces fonctions ont d abord été publiées en 1979 et sont… …   Wikipédia en Français

  • Basic Linear Algebra Subprograms — BLAS (англ. Basic Linear Algebra Subprograms  базовые подпрограммы линейной алгебры)  стандарт де факто интерфейса программирования приложений для создания библиотек, выполняющих основные операции линейной алгебры, такие как… …   Википедия

  • Linear Algebra Package — Sommaire 1 Objectifs 2 Résolution du problème avec les processeurs multi cœurs 3 Voir aussi 4 Liens externes LAPACK (pour Linear Alge …   Wikipédia en Français

  • Automatically Tuned Linear Algebra Software — ATLAS Aktuelle Version 3.8.4 (14. Mai 2011) Aktuelle Vorabversion 3.9.53 (12. Oktober 2011) Betriebssystem POSIX Programmier­sprache C, Fortran …   Deutsch Wikipedia

  • Atlas (Computersoftware Lineare Algebra) — Automatically Tuned Linear Algebra Software (ATLAS) ist eine Unterprogrammbibliothek für Lineare Algebra. ATLAS ist eine Open Source Implementierung von Basic Linear Algebra Subprograms (BLAS) und von Teilen von LAPACK für C und für Fortran. Es… …   Deutsch Wikipedia

  • BLAS — Basic Linear Algebra Subprograms Basic Linear Algebra Subprograms (BLAS) sont un ensemble de fonctions standardisées (interface de programmation) réalisant des opérations de base de l algèbre linéaire comme des multiplications de vecteurs ou de… …   Wikipédia en Français

  • BLAS — 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 …   Deutsch Wikipedia

  • LAPACK — Linear Algebra Package LAPACK (pour Linear Algebra PACKage) est une bibliothèque logicielle dédiée à la simulation numérique écrite en Fortran 77. Cette bibliothèque fournit des fonctions pour la résolution de systèmes d équations linéaires et la …   Wikipédia en Français

  • Lapack — Linear Algebra Package LAPACK (pour Linear Algebra PACKage) est une bibliothèque logicielle dédiée à la simulation numérique écrite en Fortran 77. Cette bibliothèque fournit des fonctions pour la résolution de systèmes d équations linéaires et la …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”