HPF(ID:1733/hig001)High Performance FortranProposed extension to Fortran 90 with additional support for data parallel programming. Related languages
References: in [ACM SIGPLAN] SIGPLAN Notices 28(01) January 1993 Workshop on languages, compilers and run-time environments for distributed memory 1993 multiprocessors view details in Computer Standards & Interfaces (Fortran 90 Issue) 18(4) August 1996 view details 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
|