BLAS: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

(Redirected to Basic Linear Algebra Subprograms article)

From Wikipedia, the free encyclopedia

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 such as LAPACK. Heavily used in high-performance computing, highly optimized implementations of the BLAS interface have been developed by hardware vendors such as Intel and AMD, as well as by other authors, e.g. Goto BLAS and ATLAS (a portable self-optimizing BLAS). The LINPACK benchmark relies heavily on DGEMM, a BLAS subroutine, for its performance.

Contents

Functionality

The BLAS functionality is divided into three levels: 1, 2 and 3.

Level 1

This level contains vector operations of the form

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

as well as scalar dot products and vector norms, among other things.

Level 2

This level contains matrix-vector operations of the form

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

as well as solving T \boldsymbol{x} = \boldsymbol{y} for x with T being triangular, among other things.

Level 3

This level contains matrix-matrix operations of the form

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

as well as solving B \leftarrow \alpha T^{-1} B for triangular matrices T, among other things. This level contains the widely used General Matrix Multiply operation.

Implementations

Netlib BLAS
The official reference implementation on Netlib, written in Fortran 77. [1]
Netlib CBLAS
Reference C interface to the BLAS. It is also possible (and popular) to call the Fortran BLAS from C. [2]
Accelerate
Apple Computer's framework for Mac OS X, which includes tuned versions of BLAS and LAPACK for both PowerPC and Intel Core processors.[3]
ACML
The AMD Core Math Library, supporting the AMD Athlon and Opteron CPUs under Linux and Windows.[4]
ATLAS
Automatically Tuned Linear Algebra Software, an open source implementation of BLAS APIs for C and Fortran 77.[5]
CUDA SDK
The NVIDIA CUDA SDK includes BLAS functionality for writing C programs that runs on GeForce 8 Series or newer graphics cards.
ESSL
IBM's Engineering and Scientific Subroutine Library, supporting the PowerPC architecture under AIX and Linux.[6]
libflame
FLAME project implementation of dense linear algebra library, including BLAS. [7]
Goto BLAS
Kazushige Goto's implementation of BLAS.[8]
HP MLIB
HP's Math library, supporting IA-64, PA-RISC, x86 and Opteron architecture under HPUX and Linux.
Intel MKL
The Intel Math Kernel Library, supporting the old Intel Pentium (although there are some doubts about future support to the Pentium architecture), Core and Itanium CPUs under Linux, Windows and Mac OS X.[9]
MathKeisan
NEC's math library, supporting NEC SX architecture under SUPER-UX, and Itanium under Linux. [10]
PDLIB/SX
NEC's Public Domain Mathematical Library for the NEC SX-4 system.[11]
SCSL
SGI's Scientific Computing Software Library contains BLAS and LAPACK implementations for SGI's Irix workstations.[12]
Sun Performance Linaray
Optimized BLAS and LAPACK for SPARC and AMD64 architectures under Solaris 8, 9, and 10.[13]
uBLAS
A generic C++ template class library providing BLAS functionality. Part of the Boost library. Note that, unlike other implementations, uBLAS focuses on correctness of the algorithms using advanced C++ features, rather than high performance. [14]
GSL
The GNU Scientific Library Contains a multi-platform implementation in C which is distributed under the GNU General Public License.

The Sparse BLAS

Sparse extensions to the previously dense BLAS exist such as in ACML

See also

External links

  • BLAS homepage on Netlib.org
  • BLAS FAQ
  • BLAS operations from the GNU Scientific Library reference manual
  • BLAS Quick Reference Guide from LAPACK Users' Guide
  • CSBlas for C#. CSBlas is the translation of Fortran to C# of the BLAS subroutines.
  • Lawson Oral History One of the original authors of the BLAS discusses its creation in an oral history interview. Charles L. Lawson Oral history interview by Thomas Haigh, 6 and 7 November 2004, San Clemente, California. Society for Industrial and Applied Mathematics, Philadelphia, PA.
  • Dongarra Oral History In an oral history interview, Jack Dongarra explores the early relationship of BLAS to LINPACK, the creation of higher level BLAS versions for new architectures, and his later work on the ATLAS system to automatically optimize BLAS for particular machines. Jack Dongarra, Oral history interview by Thomas Haigh, 26 April 2005, University of Tennessee, Knoxville TN. Society for Industrial and Applied Mathematics, Philadelphia, PA
  • An Overview of the Sparse Basic Linear Algebra Subprograms: The New Standard from the BLAS Technical Forum [15]

Blas is mainly a Spanish given name and surname, related to Blaise.[1] It may refer to

Contents

Places

Surnames

Real people

Fictional

  • Gil Blas, picaresque novel by Lesage
  • Ruy Blas, tragic drama by Victor Hugo
    • Ruy Blas and the Blasé Roué, Victorian burlesque of that drama

Given Names

  • Blas Antonio Sáenz, President of Nicaragua in 1845
  • Manuel Antonio Blas Sáenz, same as above
  • Blas Avena, American martial artist
  • Blas Cabrera, American physicist
  • Blas Cabrera Felipe (1878 – 1945) Spanish physicist
  • Blas Cantó (born 1991) Spanish singer
  • Blas Chumacero (1905 – 1997) Mexican trade union leader
  • Blas de Lezo (1689 – 1741) Spanish admiral
  • Blas de Ledesma (1556—1598) Spanish painter
  • Blas Elias (born 1967) American drummer
  • Blas Galindo (1910 - 1993) Mexican composer
  • Blas García, Latin American voice actor
  • Blas García Ravelo, Spanish sculptor (17th century)
  • Blas Giunta (born 1963) Argentine football player
  • Blas Giraldo Reyes Rodríguez, Cuban librarian
  • Blas Hernández (1879-1933) Cuban soldier
  • Blas Infante (1885 - 1936) Andalusian politician and writer
  • Blas María de la Garza Falcón (1712–1767) Spanish settler of Tamaulipas and South Texas
  • Blas Matamoro (born 1942) Argentine writer
  • Blas Minor (born 1966) American baseball player
  • Blas Monaco (1915 - 2000) American baseball player
  • Blas Ople (1927–2003) Filipino journalist and politician
  • Blas Parera (1777 -1840) Spanish composer.
  • Blas Pérez (born 1981) Panamanian footballer
  • Blas Piñar (born 1918) Spanish politician
  • Blas Ruiz, Spanish explorer
  • Blas Valera (1545 - 1597) Peruvian historian
  • Blas Villate (1824 - 1882) Spanish general
  • Ismael Blas Rolón Silvero (born 1914) Paraguayan bishop
  • Juan Blas de Castro (1561 – 1631) Spanish singer, musician, and composer

Other uses

  • Blas (Radio Ulster), Irish-language redio programme
  • Bás, Fás, Blás, poem written by Dominic Behan
  • Batallón de San Blas, Mexican infantry unit
  • En El Muelle De San Blás, song by Maná
  • Gnoo Blas circuit, Australian motor racing circuit
  • Hurricane Blas, used five times as the name for tropical cyclones in the Eastern Pacific Ocean.
  • San Blas Jay, Mexican bird

References

  1. Hanks, Patrick; Hodges, Flavia. A Dictionary of Surnames. Oxford University Press. ISBN 0-19-211592-8. 

See also

  • BLAS







Got something to say? Make a comment.
Your name
Your email address
Message