... says1
To be thorough we ought to associate a run-time check that W_SIZE >= 4 with the declaration of P.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... compiled2
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.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... distribution3
In HPF 2.0 this is a block distribution with an arbitrary pattern of local block-sizes, specified by some vector.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... locally4
The value assigned to BLK_COUNT could be expressed as:

\begin{displaymath}
\max(\min(\mbox{\tt BLK\_SIZE}, N - \mbox{\tt BLK\_START}), 0)
\end{displaymath}

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... C++5
Of course one can do equivalent things in Fortran, but they look relatively clumsy and difficult to read.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... grids6
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.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... index7
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.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.