Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
Document Table of Contents

PBLAS Routine Naming Conventions

The naming convention for PBLAS routines is similar to that used for BLAS routines (see Routine Naming Conventions). A general rule is that each routine name in PBLAS, which has a BLAS equivalent, is simply the BLAS name prefixed by initial letter p that stands for "parallel".

The Intel® oneAPI Math Kernel Library (oneMKL) PBLAS routine names have the following structure:

    p <character> <name> <mod> ( )

The <character> field indicates the Fortran data type:

s

real, single precision

c

complex, single precision

d

real, double precision

z

complex, double precision

i

integer

Some routines and functions can have combined character codes, such as sc or dz.

For example, the function pscasum uses a complex input array and returns a real value.

The <name> field, in PBLAS level 1, indicates the operation type. For example, the PBLAS level 1 routines p?dot, p?swap, p?copy compute a vector dot product, vector swap, and a copy vector, respectively.

In PBLAS level 2 and 3, <name> reflects the matrix argument type:

ge

general matrix

sy

symmetric matrix

he

Hermitian matrix

tr

triangular matrix

In PBLAS level 3, the <name>=tran indicates the transposition of the matrix.

The <mod> field, if present, provides additional details of the operation. The PBLAS level 1 names can have the following characters in the <mod> field:

c

conjugated vector

u

unconjugated vector

The PBLAS level 2 names can have the following additional characters in the <mod> field:

mv

matrix-vector product

sv

solving a system of linear equations with matrix-vector operations

r

rank-1 update of a matrix

r2

rank-2 update of a matrix.

The PBLAS level 3 names can have the following additional characters in the <mod> field:

mm

matrix-matrix product

sm

solving a system of linear equations with matrix-matrix operations

rk

rank-k update of a matrix

r2k

rank-2k update of a matrix.

The examples below show how to interpret PBLAS routine names:

pddot

<p> <d> <dot>: double-precision real distributed vector-vector dot product

pcdotc

<p> <c> <dot> <c>: complex distributed vector-vector dot product, conjugated

pscasum

<p> <sc> <asum>: sum of magnitudes of distributed vector elements, single precision real output and single precision complex input

pcdotu

<p> <c> <dot> <u>: distributed vector-vector dot product, unconjugated, complex

psgemv

<p> <s> <ge> <mv>: distributed matrix-vector product, general matrix, single precision

pztrmm

<p> <z> <tr> <mm>: distributed matrix-matrix product, triangular matrix, double-precision complex.

Product and Performance Information

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.

Notice revision #20201201