Lineaarisen algebran perusohjelmat
| Blaster | |
|---|---|
| Perustieto
| |
| Julkaisuvuosi | 1979 |
| Nykyinen versio | 3.8.0 (12. marraskuuta 2017) |
| käyttöjärjestelmä | alustan poikki |
| ohjelmointikieli | Fortran |
| kategoria | Lineaarialgebra |
| www.netlib.org/blas | |
Lineaarisen algebran perustoiminnot (lyhyt BLAS ) kuvaavat ohjelmakirjastoa, joka tarjoaa lineaarisen algebran alkuoperaatiot , kuten vektori- ja matriisikertomukset . On olemassa useita toteutuksia eri kielillä tai eri arkkitehtuureille ja alustoille. BLAS: n etuna on paitsi ohjelmoijan uudelleenkäytettävyys ja työn helppous, myös laitevalmistajien mahdollisuus tarjota erittäin optimoituja toteutuksia, jotkut kokoonpanijana , näille usein käytetyille aliohjelmille . Siksi BLAS-laitteita käytetään laajalti, erityisesti supertietokoneiden alueella.
BLAS-liitännän määrittely on tosiasiallisesti standardi .
Toiminnallisuus
Seuraavia tietotyyppejä tuetaan: yksi (32-bittinen), kaksinkertainen (64-bittinen), monimutkainen (2 × 32-bittinen), kaksinkertainen (2 × 64-bittinen).
BLAS: n toiminnot on jaettu kolmeen tasoon:
Taso 1
Taso 1 sisältää muodon vektoriaritmeettiset operaatiot
samoin kuin skalaarisen tuloksen ja vektorin normit .
Taso 2
Taso 2 sisältää muodon vektorimatriisiartmeettiset operaatiot
sekä ratkaista lineaariset yhtälöryhmät matriisin sisään kolmiomainen muoto .
Taso 3
Taso 3 sisältää lomakkeen matriisiaritmeettiset operaatiot
sekä ratkaista matriisi on kolmion muodossa, muun muassa . Tämä taso sisältää usein vaaditun matriisikertomuksen.
Toteutukset
- refblas
- Netlibin virallinen viitetoteutus . C- ja Fortran-77- versiot ovat saatavilla.
- ACML
- AMD Core Math Library, AMD Athlon- ja Opteron- suorittimille Linux- ja Windows-käyttöjärjestelmissä .
- ATLAS
- Automaattisesti viritetty Linear Algebra -ohjelmisto , C: n ja Fortran 77: n BLAS- sovellusliittymien avoimen lähdekoodin toteutus .
- ESSL
- IBM: n Engineering and Scientific -alirutiinikirjasto PowerPC- arkkitehtuurille AIX- ja Linux-käyttöjärjestelmissä.
- Mene BLAS
- BLAS-toteutus: Kazushige Goto .
- OpenBLAS
- Goto BLAS: n jatkokehitys nykyaikaisille prosessoreille.
- HP MLIB
- HP: n Math-kirjasto Itanium- , PA-RISC- , x86- ja Opteron - arkkitehtuureille HP-UX: n ja Linuxin alla.
- IMKL
- Intel Math Kernel Library (BLAS, LAPACK, ScaLAPACK, Sparse Solvers, FFT, Vector Math), Intel-prosessoreille Linux-, macOS- ja Windows-käyttöjärjestelmissä.
- LAMA
- Library for Accelerated Math Applications ( LAMA ) on mallikirjasto, joka on kirjoitettu C ++ -sovelluksella numeeristen ratkaisijoiden kirjoittamiseen erilaisille laitteistoille (esim. GPU: t käyttävät CUDA: ta tai OpenCL: ää ) järjestelmissä, joissa on hajautettu muisti - se piilottaa laitteistokohtaisen ohjelmoinnin Sovelluskehittäjä.
- MTL4
- Matrix Mallikirjasto Versio 4 on yleinen C ++ mallikirjasto heikoille ja täyden BLAS toiminnallisuutta. MTL4 tarjoaa intuitiivisen käyttöliittymän (samanlainen kuin Matlab ) ja yleisen ohjelmoinnin ansiosta laaja sovellettavuus.
- uBLAS
- Yleinen C ++ -luokan kirjasto, joka tarjoaa BLAS-toiminnot, osa Boost- kirjastoa.
- CUBLAS
- Nvidia täytäntöönpano Blas varten CUDA teknologia.
- clBLAS
- BLAS: n toteutus OpenCL: lle .
- AmdBLAS
- AMD täytäntöönpano Blas varten ATI Stream SDK.
- Armadillo
- Armadillo-mallikirjasto on kääre C ++: lle.
nettilinkit
- Viite BLAS-verkkosivustolle
- OpenBLAS
- BLAS-toteutus automaattisesti viritetylle lineaarialgebraohjelmistolle (ATLAS)
- AmdBLAS for ATI Stream
Yksittäiset todisteet
- ↑ BLAS-vertailuarvo elokuussa 2008 . own.tuxfamily.org. 1. elokuuta 2008. Haettu 4. maaliskuuta 2010.
- ↑ Nopeimman koodin kirjoittaminen käsin, hauskaa varten: Ihmisen tietokone pitää sirut nopeutettuna . New York Times, John Markoff. 28. marraskuuta 2005. Haettu 4. maaliskuuta 2010.
- ↑ www.libama.org