Standard data processing and mathematical terms are used in this book. Terminology is generally consistent with that used for Fortran. See the Glossary for more definitions of terms used in this book.
Distribution: Used to describe the method in which global data structures are divided among processes. Reference reports may use the term decomposition to mean the same thing.
Global: Used to identify arguments that must have the same value on all processes.
Local: Used to identify arguments that may have different values on different processes.
LOCp(): For block-cyclic data distribution, LOCp(M_) represents the number of rows that a process would receive if M_ was distributed block-cyclically over p rows of its process column.
The ScaLAPACK Users' Guide uses LOCr, which is equivalent to LOCp.
LOCq(): LOCq() can be used in three ways:
The ScaLAPACK Users' Guide uses LOCc, which is equivalent to LOCq.
Optional: Indicates an argument does not have to be coded and is assigned a default value if the argument is not present.
Process: Indicates the logical CPUs identified in the process grid. Referenced reports may also use the terms processor or node to mean the same thing.
Process Grid: Indicates a way to view a parallel machine as a logical one- or two-dimensional rectangular grid.
For one-dimensional process grids, the variables p and np are used interchangeably to indicate the number of processes in a row or column of the process grid.
For two-dimensional process grids, the variables p and nprow are used interchangeably to indicate the number of rows in the process grid. The variables q and npcol are used interchangeably to indicate the number of columns in the process grid.
Referenced reports or manuals may also use the terms processor mesh, processor template, processor shape, or processor grid. These all mean the same thing.
Required: Indicates an argument must be coded in the calling sequence.
Scope: Scope can be used in two ways:
Short and Long Precision: Because Parallel ESSL can be used with more than one programming language, the terms short precision and long precision are used in place of the Fortran terms single precision and double precision.
Subroutines and Subprograms: A subroutine is a named sequence of instructions within the Parallel ESSL library, whose execution is invoked by a call. A subroutine can be called in one or more user programs and at one or more times within each program. The Parallel ESSL subroutines are referred to as subprograms in the areas of Level 2 and 3 Parallel Basic Linear Algebra Subprograms (PBLAS). The term subprograms is used because it is consistent with the Basica Linear Algebra Subprograms (BLAS).