BLAS Frequently Asked Questions (FAQ)

lapack@cs.utk.edu

Many thanks to the netlib_maintainers@netlib.org from whose FAQ list I have patterned this list for the BLAS.

Table of Contents

1.1) What are the BLAS?
1.2) Publications/references for the BLAS?
1.3) Is there a Quick Reference Guide to the BLAS available?
1.4) Are optimized BLAS libraries available?
1.5) Where can I find vendor supplied BLAS?
1.6) Where can I find the Intel BLAS for Linux?
1.7) Where can I find Java BLAS?
1.8) Are prebuilt Fortran77 ref implementation BLAS libraries available from Netlib?

1) BLAS

1.1) What are the BLAS?

The BLAS (Basic Linear Algebra Subprograms) are high quality "building block" routines for performing basic vector and matrix operations. Level 1 BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations, and Level 3 BLAS do matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they're commonly used in the development of high quality linear algebra software, LINPACK and LAPACK for example.

A Fortran77 reference implementation of the BLAS is located in the blas directory of Netlib.

1.2) Publications/references for the BLAS?

  1. C. L. Lawson, R. J. Hanson, D. Kincaid, and F. T. Krogh, Basic Linear Algebra Subprograms for FORTRAN usage, ACM Trans. Math. Soft., 5 (1979), pp. 308--323.

  2. J. J. Dongarra, J. Du Croz, S. Hammarling, and R. J. Hanson, An extended set of FORTRAN Basic Linear Algebra Subprograms, ACM Trans. Math. Soft., 14 (1988), pp. 1--17.

  3. J. J. Dongarra, J. Du Croz, S. Hammarling, and R. J. Hanson, Algorithm 656: An extended set of FORTRAN Basic Linear Algebra Subprograms, ACM Trans. Math. Soft., 14 (1988), pp. 18--32.

  4. J. J. Dongarra, J. Du Croz, I. S. Duff, and S. Hammarling, A set of Level 3 Basic Linear Algebra Subprograms, ACM Trans. Math. Soft., 16 (1990), pp. 1--17.

  5. J. J. Dongarra, J. Du Croz, I. S. Duff, and S. Hammarling, Algorithm 679: A set of Level 3 Basic Linear Algebra Subprograms, ACM Trans. Math. Soft., 16 (1990), pp. 18--28.

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

Yes, there is a postscript version of the Quick Reference Guide to the BLAS available.

1.4) Are optimized BLAS libraries 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). For further details, please contact your local vendor representative.

Optimized BLAS libraries are NOT provided on netlib.

However, if a machine-specific optimized BLAS library is not available on the architecture to which you are installing LAPACK, you can download a Fortran77 reference implementation of the BLAS from netlib.

1.5) Where can I find vendor supplied BLAS?

BLAS Vendor List
Last updated: November 13, 1998


Vendor

URL

Cray http://www.sgi.com/Products/appsdirectory.dir/Applications/Math_Physics_Other_Sciences/
DEC http://www.digital.com/info/hpc/software/dxml.html
HP http://www.hp.com/esy/systems_networking/tech_servers/products/library.html
IBM http://www.rs6000.ibm.com/software/Apps/essl.html
http://www.rs6000.ibm.com/software/sp_products/esslpara.html
Intel http://www.intel.com/vtune/perflibst/mkl/mklperf.htm (NT)
SGI http://www.sgi.com/software/scsl.html
SUN http://www.sun.com/workshop/fortran/

1.6) Where can I find the Intel BLAS for Linux?

Yes, the Intel BLAS for Linux are now available! Refer to the following URL: Intel BLAS for Linux.

1.7) Where can I find Java BLAS?

Yes, Java BLAS are available. Refer to the following URLs: Java LAPACK and JavaNumerics The JavaNumerics webpage provides a focal point for information on numerical computing in Java.

1.8) Are prebuilt Fortran77 ref implementation BLAS libraries available from Netlib?

Yes. HOWEVER, it is assumed that you have a machine-specific optimized BLAS library already available on the architecture to which you are installing LAPACK. If this is not the case, you can download a prebuilt Fortran77 reference implementation BLAS library or compile the Fortran77 reference implementationsource code of the BLAS from netlib.

Although a model implementation of the BLAS in available from netlib in the blas directory, it is not expected to perform as well as a specially tuned implementation on most high-performance computers -- on some machines it may give much worse performance -- but it allows users to run LAPACK software on machines that do not offer any other implementation of the BLAS.

lapack@cs.utk.edu