http://www.netlib.org/blas/

source code

- Code: Select all
`svn co https://icl.cs.utk.edu/svn/lapack-dev/lapack/trunk/`

The BLAS (Basic Linear Algebra Subprograms) are routines that provide standard building blocks for performing basic vector and matrix operations.

The Level 1 BLAS perform scalar, vector and vector-vector operations,

the Level 2 BLAS perform matrix-vector operations, and

the Level 3 BLAS perform matrix-matrix operations.

Because the BLAS are efficient, portable, and widely available,

they are commonly used in the development of high quality linear algebra software, LAPACK for example.

They were first published as a Fortran library in 1979[1] and are still used as a building block in higher-level math programming languages and libraries,

including LINPACK, LAPACK, MATLAB,[2] GNU Octave, Mathematica,[3] NumPy[4] and R.

BLAS subroutines are a de facto standard API for linear algebra libraries and routines.

Several BLAS library implementations have been tuned for specific computer architectures.

Highly optimized implementations have been developed by hardware vendors such as Intel and AMD,

as well as by other authors, e.g. GotoBLAS and ATLAS (a portable self-optimizing BLAS).

The LINPACK and HPL benchmarks rely heavily on DGEMM, a BLAS subroutine, for its performance measurements.