Most parallel and sequential architectures attain their highest speed when the data accessed exhibits locality of reference. The sequential storage order implied by Fortran standards often conflicts with the locality demanded by the architecture. To avoid this, HPF includes features that describe the co-location 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. Section 4 defines how the mapping features interact across subprogram boundaries.
While a goal of HPF is to maintain compatibility with Fortran, full support of Fortran sequence and storage association, however, is not compatible with the goal of high performance through distribution of data in HPF. Sections 3 and 4 describe restrictions and directives related to storage and sequence association.