close

Lineaarialgebran perusaliohjelmat

Siirry navigointiin Siirry hakuun
BLAS
Tyyppi sovellusohjelmointirajapinta ja toimintokirjasto
Sisään kirjoitettu Fortran ja C
Ensimmäinen painos 1979
uusin versio 3.10.0 (29.6.2021)
Verkkosivusto netlib.org/blas/

BLAS ( englanniksi  Basic Linear Algebra Subprograms  - lineaarisen algebran perusalirutiinit) on de facto standardi sovellusohjelmointirajapintaan , jolla luodaan kirjastoja, jotka suorittavat lineaarisen algebran perusoperaatioita , kuten vektori- ja matriisikertomista.

Julkaistu ensimmäisen kerran vuonna 1979, ja sitä käytettiin suurten pakettien, kuten LAPACK , luomiseen . Laitteistojen valmistajat, kuten Intel , ja muut ovat kehittäneet intensiivisesti korkean suorituskyvyn laskennassa käytettyjä erittäin optimoituja BLAS-rajapinnan toteutuksia (esimerkiksi ATLAS - kannettava itseoptimoiva BLAS).

LINPACK Benchmark perustuu vahvasti DGEMM : ään , joka on BLAS:n aliohjelma.

Toiminnallisuus

BLAS:n toiminnallisuus on jaettu kolmeen tasoon.

Taso 1

Tämä taso sisältää vektorioperaatioita muodossa:

pistetulooperaatiot , vektorin normin ottaminen ja muut toiminnot .

Taso 2

Tämä taso sisältää muotoa olevia matriisivektorioperaatioita:

ratkaisu kolmiomatriisiin ja muihin operaatioihin.

Taso 3

Sisältää matriisi-matriisioperaatioita muodossa:

kolmiomatriisiratkaisu ja muut toiminnot. Tämä taso sisältää laajalti käytetyn GEMM ( General Matrix Multiply ) - operaation . 

Toteutukset

refblas
Virallinen viitetoteutus netlibistä . C- ja Fortran 77 -versiot ovat saatavilla .
Kiihdytä
Applen kehys Mac OS X : lle , mukaan lukien optimoidut BLAS- ja LAPACK-versiot PowerPC- ja Intel Core -suorittimille .
ACML
AMD:n matemaattinen ydinkirjasto , joka tukee AMD Athlon- ja Opteron - suorittimia Linuxissa ja Windowsissa .
ATLAS
Itseoptimoiva Linear Algebra Software ( englanniksi:  Automatically Tuned Linear Algebra Software ), avoimen lähdekoodin toteutus BLAS-rajapinnalle C- ja Fortran 77:lle.
CUDA SDK
NVIDIA CUDA SDK sisältää BLAS (cuBLAS) -toiminnon C-ohjelmien kirjoittamiseen GeForce 8- , GeForce 200- ja GeForce 300 (Fermi) -sarjan näytönohjaimille .
ESSL
IBM : n suunnittelu- ja tieteellinen alirutiinikirjasto , joka tukee PowerPC - arkkitehtuuria AIX- ja Linux -käyttöjärjestelmissä . 
libflame
Lineaarisen algebrakirjaston, joka sisältää BLAS:n, toteutus FLAME-projektissa.
Siirry BLAS:iin
Kazushige Goton toteutus .
HP MLIB
HP :n matemaattinen kirjasto, joka tukee IA-64- , PA-RISC- , x86- ja Opteron - arkkitehtuuria HP-UX- ja Linux -käyttöjärjestelmissä .
Intel MKL
Intel Math Kernel Library tukee Intel -prosessoreita Linuxissa , Windowsissa ja Mac OS X :ssä. 
MathKeisan
NEC - matematiikan kirjasto tukee NEC SX -arkkitehtuuria SUPER-UX : ssa ja Itanium - arkkitehtuuria Linuxissa .
PDLIB/SX
NEC : n Public Domain Mathematical Library NEC SX-4 -järjestelmälle . 
SCSL
SGI :n  Scientific Computing Software Library sisältää BLAS- ja LAPACK-toteutuksia SGI Irix -työasemille .
Sun Performance Linaray
Sun Performance Library sisältää optimoidut BLAS- ja LAPACK-järjestelmät SPARC- ja AMD64-arkkitehtuureille Solaris 8:n, 9:n ja 10 :n alla .
uBLAS
C++- mallin luokkakirjasto , joka tarjoaa BLAS-toiminnot. Osa Boost -kirjastoa . Toisin kuin muut toteutukset, uBLAS keskittyy enemmän algoritmien oikeellisuuteen edistyneillä C++-ominaisuuksilla kuin korkeaan suorituskykyyn.
GSL
GNU Scientific Library sisältää monialustaisen ei-optimoidun C-toteutuksen, joka on jaettu GNU GPL : n alla . 

CLBlast

Monialustainen ( Windows , Linux , MacOS ) C++-kirjasto , joka on toteutettu OpenCL :llä, voi toimia useissa GPU:issa tai muissa rinnakkaislaskentaa tukevissa laitteissa.

Katso myös

Linkit