The name of a PBLAS routine follows the conventions of the BLAS with the exception that the first character in the name is always a `P', which stands for Parallel. The second character (corresponding to the first character in BLAS names) denotes the FORTRAN data type of the matrix or vector as follows:
The last characters in the name of the Level 1 routines are abbreviations of the performed operations as indicated in Table 1. For example PSCOPY is the single precision real vector-vector copy routine name. The third and fourth characters in the name of the Levels 2 and 3 routines refer to the kind of matrix involved as follows:
The fifth and sixth characters in the name of the Levels 2 and 3 routines denote the type of operation as follows:
The suggested combinations are indicated in Table 2. Note, however, that rank- updates of general matrices are provided by the GEMM routines. In the first column, under real the second character S may be replaced by D. In the second column, under complex, the second character C may be replaced by Z. See appendix C for the complete subroutine calling sequences.
In our model implementation, however, the matrix transposition routine is an exception and is called PTRAN.
Table 1: Summary of proposed Level 1 PBLAS routines
The collection of routines can be thought of as being divided into four separate parts, real, double precision, complex and complex*16. These routines can be written in C or FORTRAN 90 for example; their implementation takes advantage of dynamic memory management features present in these programming languages. However, as we will see later, the local storage convention of the distributed matrix operands in every process's memory is assumed to be FORTRAN like, i.e., ``column major'' as it is specified for the BLAS. Thus, it is possible to rely on the BLAS to perform the local computations within a process.
Table 2: Summary of proposed Level 2 and 3 PBLAS routines