next up previous contents index
Next: Local blocks of subranges Up: Block Parameters Previous: Block Parameters   Contents   Index


Ghost regions and dimension splitting

If the distributed range has ghost extensions, this does not affect the values in the block description returned by localBlock(). These values describe the layout of elements associated with the ``physical'' portion of the array, not elements in the ghost region. In this case, however, the range of legal subscripts in the local sequential array dimension is increased. In the absence of ghost regions that range may be, for example, $0, \ldots, B - 1$, where typically $B$ would be $\lceil N / P \rceil$. If the original range has lower and upper ghost extensions of width $w_{\mbox{\small lo}}, w_{\mbox{\small hi}}$, so does the new sequential range, exposed by dimension splitting. The allowed range of local subscripts will be $-w_{\mbox{\small lo}}, \ldots, B + w_{\mbox{\small hi}} - 1$7.2. Figure 7.11 gives the recursive translation of an overall construct involving a shifted index. It assumes a has a suitable ghost extensions.7.3.

Figure 7.11: Recursive translation of a shifted index subscript.
SOURCE:

\begin{displaymath}
\begin{minipage}[t]{\linewidth}\small\begin{verbatim}floa...
...all(i = x for :)
a [i + 1] = ... ;\end{verbatim}\end{minipage}\end{displaymath}

TRANSLATION:

\begin{displaymath}
\begin{minipage}[t]{\linewidth}\small\begin{verbatim}floa...
...bas + b.sub_stp * l + 1] = ... ;
}\end{verbatim}\end{minipage}\end{displaymath}


next up previous contents index
Next: Local blocks of subranges Up: Block Parameters Previous: Block Parameters   Contents   Index
Bryan Carpenter 2003-04-15