1
Level 1 BLAS
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
SUBROUTINE
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
FUNCTION
xROTG (
xROTMG(
xROT (
xROTM (
xSWAP (
xSCAL (
xCOPY (
xAXPY (
xDOT (
xDOTU (
xDOTC (
xxDOT (
xNRM2 (
xASUM (
IxAMAX(
dim scalar vector
N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
5-element array
A, B, C, S )
D1, D2, A, B,
PARAM )
X, INCX, Y, INCY,
C, S )
X, INCX, Y, INCY,
PARAM )
X, INCX, Y, INCY )
ALPHA, X, INCX )
X, INCX, Y, INCY )
ALPHA, X, INCX, Y, INCY )
X, INCX, Y, INCY )
X, INCX, Y, INCY )
X, INCX, Y, INCY )
X, INCX, Y, INCY )
X, INCX )
X, INCX )
X, INCX )
Level 2 BLAS
options
xGEMV
xGBMV
xHEMV
xHBMV
xHPMV
xSYMV
xSBMV
xSPMV
xTRMV
xTBMV
xTPMV
xTRSV
xTBSV
xTPSV
(
(
(
(
(
(
(
(
(
(
(
(
(
(
xGER
xGERU
xGERC
xHER
xHPR
xHER2
xHPR2
xSYR
xSPR
xSYR2
xSPR2
(
(
(
(
(
(
(
(
(
(
(
TRANS,
TRANS,
UPLO,
UPLO,
UPLO,
UPLO,
UPLO,
UPLO,
UPLO, TRANS,
UPLO, TRANS,
UPLO, TRANS,
UPLO, TRANS,
UPLO, TRANS,
UPLO, TRANS,
options
DIAG,
DIAG,
DIAG,
DIAG,
DIAG,
DIAG,
UPLO,
UPLO,
UPLO,
UPLO,
UPLO,
UPLO,
UPLO,
UPLO,
dim
M, N,
M, N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
N,
dim
M, N,
M, N,
M, N,
N,
N,
N,
N,
N,
N,
N,
N,
K,
K,
scalar
ALPHA,
ALPHA,
ALPHA,
ALPHA,
ALPHA,
ALPHA,
ALPHA,
ALPHA,
ALPHA,
ALPHA,
ALPHA,
options
TRANSA, TRANSB,
SIDE, UPLO,
SIDE, UPLO,
UPLO,
UPLO,
UPLO,
UPLO,
SIDE, UPLO,
SIDE, UPLO,
TRANS,
TRANS,
TRANS,
TRANS,
TRANSA,
TRANSA,
scalars
b-width scalar
ALPHA,
KL, KU, ALPHA,
ALPHA,
K,
ALPHA,
ALPHA,
ALPHA,
K,
ALPHA,
ALPHA,
Level 3 BLAS
xGEMM (
xSYMM (
xHEMM (
xSYRK (
xHERK (
xSYR2K(
xHER2K(
xTRMM (
xTRSM (
vector
matrix vector
scalar
A, LDA, X, INCX, BETA,
A, LDA, X, INCX, BETA,
A, LDA, X, INCX, BETA,
A, LDA, X, INCX, BETA,
AP,
X, INCX, BETA,
A, LDA, X, INCX, BETA,
A, LDA, X, INCX, BETA,
AP,
X, INCX, BETA,
A, LDA, X, INCX )
A, LDA, X, INCX )
AP,
X, INCX )
A, LDA, X, INCX )
A, LDA, X, INCX )
AP,
X, INCX )
vector
vector
matrix
X, INCX, Y, INCY, A, LDA )
X, INCX, Y, INCY, A, LDA )
X, INCX, Y, INCY, A, LDA )
X, INCX,
A, LDA )
X, INCX,
AP )
X, INCX, Y, INCY, A, LDA )
X, INCX, Y, INCY, AP )
X, INCX,
A, LDA )
X, INCX,
AP )
X, INCX, Y, INCY, A, LDA )
X, INCX, Y, INCY, AP )
dim
M, N,
M, N,
M, N,
N,
N,
N,
N,
DIAG, M, N,
DIAG, M, N,
scalar
K, ALPHA,
ALPHA,
ALPHA,
K, ALPHA,
K, ALPHA,
K, ALPHA,
K, ALPHA,
ALPHA,
ALPHA,
matrix
A, LDA,
A, LDA,
A, LDA,
A, LDA,
A, LDA,
A, LDA,
A, LDA,
A, LDA,
A, LDA,
matrix
B, LDB,
B, LDB,
B, LDB,
vector
Y, INCY
Y, INCY
Y, INCY
Y, INCY
Y, INCY
Y, INCY
Y, INCY
Y, INCY
scalar
BETA,
BETA,
BETA,
BETA,
BETA,
B, LDB, BETA,
B, LDB, BETA,
B, LDB )
B, LDB )
Generate plane rotation
Generate modied plane rotation
Apply plane rotation
Apply modied plane rotation
x$y
x x
y x
y x + y
dot xT y
dot xT y
dot xH y
dot + xT y
nrm2 jjxjj2
asum jjre(x)jj1 + jjim(x)jj1
amax 1st k 3 jre(xk )j + jim(xk )j
= max(jre(xi )j + jim(xi )j)
A
A
A
A
A
A
A
A
A
A
A
Ax + y; y AT x + y; y AH x + y; A m n
Ax + y; y AT x + y; y AH x + y; A m n
Ax + y
Ax + y
Ax + y
Ax + y
Ax + y
Ax + y
Ax; x AT x; x AH x
Ax; x AT x; x AH x
Ax; x AT x; x AH x
A 1 x; x A T x; x A H x
A 1 x; x A T x; x A H x
A 1 x; x A T x; x A H x
xyT + A; A m n
xyT + A; A m n
xyH + A; A m n
xxH + A
xxH + A
xyH + y(x)H + A
xyH + y(x)H + A
xxT + A
xxT + A
xyT + yxT + A
xyT + yxT + A
S, D
C, Z
C, Z
C, Z
C, Z
C, Z
C, Z
S, D
S, D
S, D
S, D
C
C
C
C
C
C
C
B
B
op(A)op(B) + C; op(X ) = X; X T ; X H ; C m n
AB + C; C BA + C; C m n; A = AT
AB + C; C BA + C; C m n; A = AH
AAT + C; C AT A + C; C n n
AAH + C; C AH A + C; C n n
ABT + BAT + C; C AT B + BT A + C; C n n
ABH + BAH + C; C AH B + BH A + C; C n n
op(A)B; B Bop(A); op(A) = A; AT ; AH ; B m n
op(A 1 )B; B Bop(A 1 ); op(A) = A; AT ; AH ; B m n
S, D, C, Z
S, D, C, Z
C, Z
S, D, C, Z
C, Z
S, D, C, Z
C, Z
S, D, C, Z
S, D, C, Z
y
y
y
y
y
y
y
y
x
x
x
x
x
x
)
)
)
)
)
)
)
)
matrix
C, LDC
C, LDC
C, LDC
C, LDC
C, LDC
C, LDC
C, LDC
2
)
)
)
)
)
)
)
prexes
S, D
S, D
S, D
S, D
S, D, C, Z
S, D, C, Z, CS, ZD
S, D, C, Z
S, D, C, Z
S, D, DS
C, Z
C, Z
SDS
S, D, SC, DZ
S, D, SC, DZ
S, D, C, Z
S, D, C, Z
S, D, C, Z
C, Z
C, Z
C, Z
S, D
S, D
S, D
S, D, C, Z
S, D, C, Z
S, D, C, Z
S, D, C, Z
S, D, C, Z
S, D, C, Z
Meaning of prexes
S - REAL
D - DOUBLE PRECISION
C - COMPLEX
Z - COMPLEX*16
(this may not be supported
by all machines)
For the Level 2 BLAS a set of extended-precision routines with
the prexes ES, ED, EC, EZ may also be available.
Level 1 BLAS
In addition to the listed routines there are two further
extended-precision dot product routines DQDOTI and DQDOTA.
Level 2 and Level 3 BLAS
Matrix types:
GE - GEneral
GB - General Band
SY - SYmmetric SB - Sym. Band
SP - Sum. Packed
HE - HErmitian HB - Herm. Band HP - Herm. Packed
TR - TRiangular TB - Triang. Band TP - Triang. Packed
Level 2 and Level 3 BLAS Options
Dummy options arguments are declared as CHARACTER*1
and may be passed as character strings.
TRANx = `No transpose', `Transpose',
`Conjugate transpose' (X; X T ; X H )
UPLO = `Upper triangular', `Lower triangular'
DIAG
= `Non-unit triangular', `Unit triangular'
SIDE
= `Left', `Right' (A or op(A) on the left,
or A or op(A) on the right)
For real matrices, TRANSx = `T' and TRANSx = `C' have
the same meaning.
For Hermitian matrices, TRANSx = `T' is not allowed.
For complex symmetric matrices, TRANSx = `H' is not
allowed.
References
C. Lawson, R. Hanson, D. Kincaid, and F. Krogh, \Basic
Linear Algebra Subprograms for Fortran Usage," ACM Trans.
on Math. Soft. 5 (1979) 308-325
J.J. Dongarra, J. DuCroz, S. Hammarling, and R. Hanson,
\An Extended Set of Fortran Basic Linear Algebra Subprograms,"
ACM Trans. on Math. Soft. 14,1 (1988) 1-32
J.J. Dongarra, I. Du, J. DuCroz, and S. Hammarling, \A Set
of Level 3 Basic Linear Algebra Subprograms," ACM Trans.
on Math. Soft. (1989)
Obtaining the Software via [email protected]
To receive a copy of the single-precision software,
type in a mail message:
send sblas from blas
send sblas2 from blas
send sblas3 from blas
To receive a copy of the double-precision software,
type in a mail message:
send dblas from blas
send dblas2 from blas
send dblas3 from blas
To receive a copy of the complex single-precision software,
type in a mail message:
send cblas from blas
send cblas2 from blas
send cblas3 from blas
Basic
Linear
Algebra
Subprograms
A Quick Reference Guide
To receive a copy of the complex double-precision software,
type in a mail message:
University of Tennessee
Oak Ridge National Laboratory
Numerical Algorithms Group Ltd.
Send comments and questions to
May 11, 1997
send zblas from blas
send zblas2 from blas
send zblas3 from blas
3
[email protected]
.