Presentation:
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.
Acknowledgments:
This material is based upon work supported by the National Science Foundation under Grant No. ASC-9313958 and DOE Grant No. DE-FG03-94ER25219. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF) or the Department of Energy (DOE).
History
Discover the great history behind BLAS. On April 2004 an oral history interview was conducted as part of the SIAM project on the history of software for scientific computing and numerical analysis. This interview is being conducted with Professor Jack Dongarra in his office at the University of Tennessee. The interviewer is Thomas Haigh. |
Software:
Licensing:
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.
REFERENCE BLAS (now part of LAPACK release)
-
BLAS is now included in the LAPACK library.See LAPACK website for Download http://www.netlib.org/lapack
CBLAS (now part of LAPACK release)
-
See LAPACK website for Download http://www.netlib.org/lapack
-
Header file: cblas.h
Level 3 BLAS tuned for single processors with caches
-
Download ssgemmbased.tgz
-
Written by Kagstrom B., Ling P., and Van Loan C.
-
High Performance GEMM-Based Level-3 BLAS Webpage - Fortran (High Performance Computing II, 1991, North-Holland)
Extended precision Level 2 BLAS routines
-
Download ecblas2.f
GIT Access
The LAPACK GIT (http://github.com/Reference-LAPACK) repositories are to open for read-only for our users. The latest version of BLAS is included in LAPACK package.
Please use our LAPACK development repository to get the latest bug fixed, submit issues or pull requests.
Support
If you have any issue (install, performance), just post your questions on the Github LAPACK Repository.
Documentation
BLAS Technical Forum
The BLAS Technical Forum standard is a specification of a set of kernel routines for linear algebra, historically called the Basic Linear Algebra Subprograms. http://www.netlib.org/blas/blast-forum/
Optimized BLAS Library
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 see our FAQs.
Alternatively, the user can download ATLAS to automatically generate an optimized BLAS library for his architecture. Some prebuilt optimized BLAS libraries are also available from the ATLAS site.
If all else fails, the user can download a Fortran77 reference implementation of the BLAS from netlib. However, keep in mind that this is a reference implementation and is not optimized.
BLAS vendor library List Last updated: July 20, 2005
BLAS Routines
BLAS routines can be explored here Explore LAPACK