Keywords: slug

Next: Example Up: In-core Dense Matrices Previous: Local Storage Scheme and

## Array Descriptor for In-core Dense Matrices

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.