March 1990 | JACK J. DONGARRA, JEREMY DU CROZ, SVEN HAMMARLING, IAIN DUFF
This paper introduces a set of Level 3 Basic Linear Algebra Subprograms (BLAS), designed for matrix-matrix operations to enhance efficiency and portability on high-performance computers with hierarchical memory and parallel processing capabilities. The Level 3 BLAS are aimed at providing more efficient implementations of algorithms, particularly those involving block algorithms and matrix-matrix operations on blocks. The paper outlines the scope, naming conventions, argument conventions, storage conventions, and numerical stability considerations for the Level 3 BLAS. It also discusses the rationale behind the design choices and provides an example of how the Level 3 BLAS can be used to implement Cholesky factorization. The Level 3 BLAS are intended for software developers and experienced applications programmers, and the paper includes a model implementation and test programs.This paper introduces a set of Level 3 Basic Linear Algebra Subprograms (BLAS), designed for matrix-matrix operations to enhance efficiency and portability on high-performance computers with hierarchical memory and parallel processing capabilities. The Level 3 BLAS are aimed at providing more efficient implementations of algorithms, particularly those involving block algorithms and matrix-matrix operations on blocks. The paper outlines the scope, naming conventions, argument conventions, storage conventions, and numerical stability considerations for the Level 3 BLAS. It also discusses the rationale behind the design choices and provides an example of how the Level 3 BLAS can be used to implement Cholesky factorization. The Level 3 BLAS are intended for software developers and experienced applications programmers, and the paper includes a model implementation and test programs.