Modern parallel and sequential architectures attain their highest speed
when the data accessed exhibits locality of reference. The sequential
storage order implied by FORTRAN 77 and Fortran 90 often conflicts with
the locality demanded by the architecture. To avoid this, HPF includes
features which describe the collocation of data (ALIGN) and the
partitioning of data among memory regions or abstract processors (DISTRIBUTE). Compilers may interpret these annotations to improve
storage allocation for data, subject to the constraint that
semantically every data object has a single value at any point in
the program. In all cases, users should expect the compiler to arrange
the computation to minimize communication while retaining parallelism.
Section describes the distribution features.