An Extended Set of FORTRAN Basic Linear Algebra Subprograms

An Extended Set of FORTRAN Basic Linear Algebra Subprograms

March 1988 | JACK J. DONGARRA, JEREMY DU CROZ and SVEN HAMMARLING and RICHARD J. HANSON
This paper describes an extension to the Basic Linear Algebra Subprograms (BLAS), known as the Level 2 BLAS. The extension focuses on matrix-vector operations, which are essential for efficient and portable implementations of algorithms on high-performance computers. The Level 2 BLAS include operations such as matrix-vector products, rank-one and rank-two updates, and solutions to triangular equations. These operations are designed to provide a reasonable balance between efficiency and modularity. The Level 2 BLAS are defined with specific naming conventions and argument conventions. The names are in the LINPACK style and consist of five characters, with the first character indicating the data type (S for real, D for double precision, C for complex, and Z for complex*16). The second and third characters denote the type of matrix, while the fourth and fifth characters indicate the type of operation. The routines are designed to work with various matrix types, including general, band, Hermitian, symmetric, triangular, and packed matrices. The Level 2 BLAS are implemented in FORTRAN 77 and include routines for real, double precision, complex, and complex*16 data types. The routines are designed to be efficient and portable across different computer architectures. The paper also discusses the use of extended-precision arithmetic for certain routines, which can improve the accuracy of computations in specific applications. The paper outlines the argument conventions for the Level 2 BLAS, including the order of arguments and the meaning of each argument. It also discusses the storage conventions for matrices, including packed storage for symmetric, Hermitian, and triangular matrices. The paper provides examples of the routines and their operations, including matrix-vector products, rank-one and rank-two updates, and solutions to triangular equations. The paper also discusses the rationale for the Level 2 BLAS, including the decision to focus on matrix-vector operations and the balance between efficiency and modularity. It addresses issues related to portability, including the use of lowercase characters in FORTRAN and the need to convert text to the FORTRAN character set for compatibility. The paper concludes with a discussion of the implementation and testing of the Level 2 BLAS, including the use of extended-precision arithmetic and the importance of thorough testing.This paper describes an extension to the Basic Linear Algebra Subprograms (BLAS), known as the Level 2 BLAS. The extension focuses on matrix-vector operations, which are essential for efficient and portable implementations of algorithms on high-performance computers. The Level 2 BLAS include operations such as matrix-vector products, rank-one and rank-two updates, and solutions to triangular equations. These operations are designed to provide a reasonable balance between efficiency and modularity. The Level 2 BLAS are defined with specific naming conventions and argument conventions. The names are in the LINPACK style and consist of five characters, with the first character indicating the data type (S for real, D for double precision, C for complex, and Z for complex*16). The second and third characters denote the type of matrix, while the fourth and fifth characters indicate the type of operation. The routines are designed to work with various matrix types, including general, band, Hermitian, symmetric, triangular, and packed matrices. The Level 2 BLAS are implemented in FORTRAN 77 and include routines for real, double precision, complex, and complex*16 data types. The routines are designed to be efficient and portable across different computer architectures. The paper also discusses the use of extended-precision arithmetic for certain routines, which can improve the accuracy of computations in specific applications. The paper outlines the argument conventions for the Level 2 BLAS, including the order of arguments and the meaning of each argument. It also discusses the storage conventions for matrices, including packed storage for symmetric, Hermitian, and triangular matrices. The paper provides examples of the routines and their operations, including matrix-vector products, rank-one and rank-two updates, and solutions to triangular equations. The paper also discusses the rationale for the Level 2 BLAS, including the decision to focus on matrix-vector operations and the balance between efficiency and modularity. It addresses issues related to portability, including the use of lowercase characters in FORTRAN and the need to convert text to the FORTRAN character set for compatibility. The paper concludes with a discussion of the implementation and testing of the Level 2 BLAS, including the use of extended-precision arithmetic and the importance of thorough testing.
Reach us at info@study.space