The array descriptor DESC_, whose type is defined as DESC_(DTYPE_)=1 , is an integer array of length 9. It is used for the ScaLAPACK routines solving dense linear systems and eigenvalue problems. All global vector and matrix operands are assumed to be distributed on the process grid according to the one- or two-dimensional block cyclic data distribution scheme. Refer to section 4.3.1 for further details on block cyclic data distribution.
A general M_ by N_ distributed matrix is defined by its dimensions, the size of the elementary MB_ by NB_ block used for its decomposition, the coordinates of the process having in its local memory the first matrix entry (RSRC_,CSRC_), and the BLACS context (CTXT_) in which this matrix is defined. Finally, a local leading dimension LLD_ is associated with the local memory address pointing to the data structure used for the local storage of this distributed matrix.
Let us assume, for example, that we have an array descriptor DESCA for a dense global matrix A. As previously mentioned, the notations x_ used in the entries of the array descriptor denote the attributes of a global array. For readability of the code, we have associated symbolic names for the descriptor entries. For example, M_ denotes the number of rows and M_A specifically denotes the number of rows in global matrix A.
Table 4.7: Content of the array descriptor for in-core dense matrices
For a detailed description of LOC() notation, please refer to section 4.3.2.