Developer Reference for Intel® oneAPI Math Kernel Library for C
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  |