Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

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.