www.wikidata.de-de.nina.az
Dieser Artikel behandelt die Software Zu weiteren Bedeutungen von BLAS siehe Blas Begriffsklarung Basic Linear Algebra Subprograms kurz BLAS bezeichnet eine Programmbibliothek die elementare Operationen der linearen Algebra wie Vektor und Matrixmultiplikationen bereitstellt Es gibt eine Vielzahl von Implementierungen in verschiedenen Sprachen bzw fur verschiedene Architekturen und Plattformen Der Vorteil von BLAS liegt nicht nur in der Wiederverwendbarkeit und der Arbeitserleichterung fur den Programmierer sondern auch in der Moglichkeit fur Hardwarehersteller fur diese haufig gebrauchten Subroutinen hochoptimierte zum Teil in Assembler realisierte Implementierungen bereitzustellen 1 Daher finden BLAS vor allem im Supercomputing Bereich breite Verwendung BLASBasisdatenErscheinungsjahr 1979Aktuelle Version 3 10 0 29 Juni 2021 Betriebssystem plattformubergreifendProgrammiersprache FortranKategorie Lineare Algebrawww netlib org blasDie Definition der Schnittstelle zu BLAS ist ein De facto Standard Inhaltsverzeichnis 1 Funktionalitat 1 1 Level 1 1 2 Level 2 1 3 Level 3 2 Implementierungen 3 Weblinks 4 EinzelnachweiseFunktionalitat BearbeitenEs werden folgende Datentypen unterstutzt single 32 Bit double 64 Bit complex 2 32 Bit doublecomplex 2 64 Bit Die Funktionalitat von BLAS wird in drei Stufen Level unterteilt Level 1 Bearbeiten Level 1 enthalt Vektor Rechenoperationen der Form y a x y displaystyle mathbf y leftarrow alpha mathbf x mathbf y nbsp sowie unter anderem das Skalarprodukt und Vektornormen Level 2 Bearbeiten Level 2 enthalt Vektor Matrix Rechenoperationen der Form y a A x b y displaystyle mathbf y leftarrow alpha A mathbf x beta mathbf y nbsp sowie unter anderem das Losen von linearen Gleichungssystemen T x y displaystyle T mathbf x mathbf y nbsp mit Matrix T displaystyle T nbsp in Dreiecksform Level 3 Bearbeiten Level 3 enthalt Matrix Rechenoperationen der Form C a A B b C displaystyle C leftarrow alpha AB beta C nbsp sowie unter anderem das Losen von B a T 1 B displaystyle B leftarrow alpha T 1 B nbsp fur Matrix T displaystyle T nbsp in Dreiecksform Dieser Level enthalt die oft benotigte Matrixmultiplikation Implementierungen Bearbeitenrefblas Offizielle Referenzimplementierung von Netlib C und Fortran 77 Versionen sind verfugbar ACML AMD Core Math Library fur AMD Athlon und Opteron CPUs unter Linux und Windows ATLAS Automatically Tuned Linear Algebra Software ein Open Source Implementierung der BLAS APIs fur C und Fortran 77 ESSL IBMs Engineering and Scientific Subroutine Library fur die PowerPC Architektur unter AIX und Linux Goto BLAS BLAS Implementierung von Kazushige Goto 2 OpenBLAS Weiterentwicklung von Goto BLAS fur moderne Prozessoren HP MLIB HPs Math library fur die Architekturen Itanium PA RISC x86 und Opteron unter HP UX und Linux IMKL Intel Math Kernel Library BLAS LAPACK ScaLAPACK Sparse Solvers FFT Vector Math fur Intel Prozessoren unter Linux macOS und Windows LAMA Die Library for Accelerated Math Applications LAMA ist eine in C geschriebene Template Bibliothek zum Schreiben numerischer Loser fur verschiedene Hardware z B GPUs mittels CUDA oder OpenCL in Systemen mit verteiltem Speicher sie versteckt die hardwarespezifische Programmierung vor dem Anwendungsentwickler 3 MTL4 Die Matrix Template Library Version 4 ist eine generische C Template Bibliothek fur schwach und voll besetzte BLAS Funktionalitat MTL4 bietet ein intuitives Interface ahnlich Matlab und dank Generischer Programmierung eine breite Anwendbarkeit uBLAS Eine generische C Klassenbibliothek welche BLAS Funktionalitat bereitstellt Teil der Boost Bibliothek CUBLAS Die Nvidia Implementierung von BLAS fur die CUDA Technologie clBLAS Eine Implementierung von BLAS fur OpenCL AmdBLAS Die AMD Implementierung von BLAS fur das ATI Stream SDK Armadillo Die Armadillo Template Bibliothek ist ein Wrapper fur C Weblinks BearbeitenReferenz BLAS Website OpenBLAS BLAS Implementierung Automatically Tuned Linear Algebra Software ATLAS AmdBLAS fur ATI StreamEinzelnachweise Bearbeiten BLAS Benchmark August2008 eigen tuxfamily org 1 August 2008 abgerufen am 4 Marz 2010 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 Marz 2010 www libama org Abgerufen von https de wikipedia org w index php title Basic Linear Algebra Subprograms amp oldid 224715333