1)What and where are the BLAS?

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.

2) Are there legal restrictions on the use of BLAS reference implementation software?

The reference BLAS is a freely-available software package. It is available from netlib via anonymous ftp and the World Wide Web. Thus, it can be included in commercial software packages (and has been). We only ask that proper credit be given to the authors.

Like all software, it is copyrighted. It is not trademarked, but we do ask the following:

If you modify the source for these routines we ask that you change the name of the routine and comment the changes made to the original.

We will gladly answer any questions regarding the software. If a modification is done, however, it is the responsibility of the person who modified the routine to provide support.

4) Is there a Quick Reference Guide to the BLAS available?

YES! Machine-specific optimized BLAS libraries are available for a variety of computer architectures. These optimized BLAS libraries are provided by the computer vendor or by an independent software vendor (ISV) (see list below). For further details, please contact your local vendor representative.

Two platform independant and free library alternatives are available:

ATLAS automatically generates an optimized BLAS library for his architecture. Some prebuilt optimized BLAS libraries are also available from the ATLAS site.

OpenBLAS (a fork of GotoBLAS) is a free open-source alternative to the vendor BLAS implementations. It is packaged on many end-user Linux distributions such as Ubuntu, and is thus readily available for users who perform calculations on their personal computers. Its speed is decent and fairly competitive with Vendor BLAS e.g. MKL.