Visible to Intel only — GUID: GUID-53D40640-F03A-4A36-8C75-66D9763BE91B
Visible to Intel only — GUID: GUID-53D40640-F03A-4A36-8C75-66D9763BE91B
Naming Conventions for BLAS Routines
BLAS routine names have the following structure:
<character> <name> <mod>
The <character> field indicates the data type:
- s
-
real, single precision
- c
-
complex, single precision
- d
-
real, double precision
- z
-
complex, double precision
Some routines and functions can have combined character codes, such as sc or dz.
For example, the function scasum uses a complex input array and returns a real value.
The <name> field, in BLAS level 1, indicates the operation type. For example, the BLAS level 1 routines ?dot, ?rot, ?swap compute a vector dot product, vector rotation, and vector swap, respectively.
In BLAS level 2 and 3, <name> reflects the matrix argument type:
- ge
-
general matrix
- gb
-
general band matrix
- sy
-
symmetric matrix
- sp
-
symmetric matrix (packed storage)
- sb
-
symmetric band matrix
- he
-
Hermitian matrix
- hp
-
Hermitian matrix (packed storage)
- hb
-
Hermitian band matrix
- tr
-
triangular matrix
- tp
-
triangular matrix (packed storage)
- tb
-
triangular band matrix.
The <mod> field, if present, provides additional details of the operation. BLAS level 1 names can have the following characters in the <mod> field:
- c
-
conjugated vector
- u
-
unconjugated vector
- g
-
Givens rotation construction
- m
- modified Givens rotation
- mg
- modified Givens rotation construction
BLAS level 2 names can have the following characters in the <mod> field:
- mv
-
matrix-vector product
- sv
-
solving a system of linear equations with a single unknown vector
- r
-
rank-1 update of a matrix
- r2
-
rank-2 update of a matrix.
BLAS level 3 names can have the following characters in the <mod> field:
- mm
-
matrix-matrix product
- sm
-
solving a system of linear equations with multiple unknown vectors
- rk
-
rank-k update of a matrix
- r2k
-
rank-2k update of a matrix.
The examples below illustrate how to interpret BLAS routine names:
ddot |
<d> <dot>: real and double precision, vector-vector dot product |
cdotc |
<c> <dot> <c>: complex and single precision, vector-vector dot product, conjugated |
cdotu |
<c> <dot> <u>: complex and single precision, vector-vector dot product, unconjugated |
scasum |
<sc> <asum>: real and single-precision output, complex and single-precision input, sum of magnitudes of vector elements |
sgemv |
<s> <ge> <mv>: real and single precision, general matrix, matrix-vector product |
ztrmm |
<z> <tr> <mm>: complex and double precision, triangular matrix, matrix-matrix product |
Sparse BLAS level 1 naming conventions are similar to those of BLAS level 1. For more information, see Naming Conventions.