HPF(ID:1733/hig001)

High Performance Fortran 


Proposed extension to Fortran 90 with additional support for data parallel programming.


Related languages
Fortran 90 => HPF   Augmentation of
Fortran D => HPF   Evolution of
HPF => HPC++   Incorporated some features of
HPF => HPF+   Evolution of
HPF => HPJava   Influence

References:
  • Steele G.L. Jr "High Performance Fortran: Status Report" view details
          in [ACM SIGPLAN] SIGPLAN Notices 28(01) January 1993 Workshop on languages, compilers and run-time environments for distributed memory 1993 multiprocessors view details
  • Wagener, Jerrold L. "High performance Fortran" view details
          in Computer Standards & Interfaces (Fortran 90 Issue) 18(4) August 1996 view details
  • Mehrotra, Piyush; Van Rosendale, John; Zima, Hans "High Performance Fortran: History, Status and Future" Technical Report TR 97-8, Institute for Software Technology and Parallel Systems, University of Vienna, September 1997. view details Extract: Conclusion
    Conclusion
    HPF is a well-designed language which can handle most data parallel scientific applications with reasonable facility. However, as architectures evolve and scientific programming becomes more sophisticated, the limi-  tations of the language are becoming increasingly apparent. There are at least three points of view one could  take:
    1. HPF is too high-level a language --- MPI-style languages are more appropriate.
    2. HPF is too low-level a language --- aggressive compiler technologies and improving architectures obviate the need for HPF-style compiler directives.
    3. The level of HPF is about right, but extensions are required to handle some applications for some upcoming architectures.

    All three of these alternatives are being actively pursued by language researchers. For example, HPC++ [?] is an effort to design an HPF-style language using C++ as a base. On the other hand, F - - [?] is an attempt  to provide a lower-level data-parallel language than HPF. Like HPF, F - - provides a single thread of flow  control. But unlike HPF, F - - requires all communication to be explicit using "get'' and "put'' primitives.

    While it is difficult to predict where languages will head, the coming generation of SMP-cluster ar- chitectures may induce new families of languages which will take advantage of the hardware support for  shared-memory semantics with an SMP, while covering the limited global communication capability of the  architectures. In this effort the experience gained in the development and implementation of HPF will surely  serve us well.
          in Computer Standards & Interfaces (Fortran 90 Issue) 18(4) August 1996 view details
    Resources
    • Fortran Parallel Programming Systems
      Fortran D was a major impetus behind the definition of High Performance Fortran (HPF). The High Performance Fortran Forum, which produced the definition of HPF, includes representatives from industry, academia, and government laboratories. The Fortran D compilers produced in part by the Rice Compiler Group are being used as models for several commercial HPF compilers. Thus, the project has established an efficient technology transfer mechanism by which new features in Fortran D, once demonstrated, may be included in a future round of HPF definition.external link
    • HPF Home page
      High Performance Fortran (HPF)
      Home Versions Compilers Projects
      Publications Applications Benchmarks Events Contact

      How widely used is HPF?
      There are currently 34 listed HPF applications.
      The High Performance Fortran Forum (HPFF), a coalition of industry, academic and laboratory representatives, works to define a set of extensions to Fortran 90 known collectively as High Performance Fortran (HPF). HPF extensions provide access to high-performance architecture features while maintaining portability across platforms.  
      external link