Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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