Next: 2.2.1 Template creation Up: 2 Templates and Linear Previous: 2.1 Initializing PLAPACK

# 2.2 Distribution Templates

Rather than describing the distribution of each individual vector and matrix directly, the PLAPACK infrastructure requires the distribution of (imaginary)     template vectors and     matrices to be described. Vector and matrix distribution is given by indicating alignment with respect to these template vectors and matrices.

Imagine an infinite length vector t , which is partitioned like

with all of uniform length , the     distribution blocking size (see Figure 2.1). Sub-vectors are assigned to the logical two-dimensional mesh corresponding to the communicator (mentioned above) by wrapping in   column-major order: is assigned to , as illustrated in Figure 2.1. Here r and c denote the row and column dimension of the mesh of nodes encoded in the PLAPACK base communicator. We will call this the   template vector. In our discussion, we will start our indexing at zero, as is customary in C. PLAPACK allows one to specify whether to start counting at one, as is customary in FORTRAN, or zero.

A distributed vector is   aligned to this template vector by indicating the element of the template vector with which the first element of the vector to be distributed is aligned, as illustrated in Figure 2.1. The distribution of the elements of the vector to be distributed is then dictated by the distribution of corresponding elements of the template vector. Thus, if the first element of the vector is aligned with element i of the template vector, the j th element of the vector to be distributed is assigned to the same node as the i+j th element of the template vector.

The distribution of matrices is now induced by this template vector. More specifically, let T be an infinite matrix, partitioned like

where are sub-matrices. Then this   template matrix is distributed to nodes as induced by the template vector, t , as illustrated in Figure . A given matrix to be distributed is now   aligned to this template by indicating the element of T with which the top-left element of the matrix to be distributed is aligned, as illustrated in Figure 2.2.

Next: 2.2.1 Template creation Up: 2 Templates and Linear Previous: 2.1 Initializing PLAPACK

rvdg@cs.utexas.edu