next up previous contents
Next: Compilers for HPF Up: An HPF Encyclopedia Previous: HPF and MPI

HPF-2

After a number of proposals for directions in which HPF might be expanded and/or nailed down further, it was decided at the January 1996 HPFF kickoff meeting in Houston that a first HPF-2 language specification would be presented at Supercomputing '96. It was decided that there would be one HPF language. Its version number would be 2.0, and the HPF 1.1 subset would simply be carried forward.

Some historical material that went into the HPF-2 specification includes a planning document by Choudhary, et al. [50]. It was a good source for information on what might be added to the language. The planning document included such language features as explicit directives for reductions, within otherwise INDEPENDENT loops, do across loops, tools support, and (yuck) checkpoint-restart. Array reductions and do across loops ought to be handled by the compiler, not the user, but HPF 2.0 wound up having explicit syntax for these.

Müller and Rühl [142] also proposed some extensions to HPF to support irregular computations. These extensions were taken up in the Annai compiling system for the NEC Cenju-3. The extensions include BLOCK_GENERAL distributions, user-defined mappings.

One serious proposal was made by Chris Bischof [26] that HPF should use ``virtual 2D torus wrap'' data layout instead of the proposed ``block scatter'' layout, in order to permit more efficient coding of routines for dense matrix computations. This is not accepted, though, because the resulting layout is a bit difficult to describe and understand.

The December 96 meeting of HPFF marked the start of the public comment review of HPF 2.0, starting with the October 20, 1996 version [91]. The final specification was accepted in January 1997 [92].


next up previous contents
Next: Compilers for HPF Up: An HPF Encyclopedia Previous: HPF and MPI
Donna Bergmark
2/18/1998