- ... says
^{1}
- To be
thorough we ought to associate a run-time check that
`W_SIZE >= 4`
with the declaration of `P`.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

- ... compiled
^{2}
- The functions in such a library
need not actually be
*written* in HPF. Regardless, the author of the
library must deal with the same problems as an HPF compiler translating
procedures with INHERIT mappings.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

- ... distribution
^{3}
- In HPF 2.0 this is a block distribution
with an arbitrary pattern of local block-sizes, specified by some vector.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

- ... locally
^{4}
- The value assigned
to
`BLK_COUNT` could be expressed as:

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

- ... C++
^{5}
- Of course one can do equivalent
things in Fortran, but they look relatively clumsy and difficult to
read.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

- ... grids
^{6}
- In
MPI groups themselves do not have any grid structure. On the other
hand a
*Cartesian communicator* does have a grid structure. So
one possible implementation of a `Procs` object might be in terms
of this kind of communicator.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

- ... index
^{7}
- In the translation of
Figure 8, note that the expressions
`b.glb_bas +
b.glb_stp * l` and `b.sub_bas + b.sub_stp * l` are ``induction
variables''--linear functions of the loop index. The compiler
can compute these efficiently by constantly incrementing temporary
variables.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

- ... subscript)
^{8}
- We assumed the argument of
`location()`
is a C-style index, starting from 0, rather than a Fortran-style index
starting from 1.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.