Optimizing Local Performance in HPF
High Performance Fortran (HPF) was created to simplify high-level programming on parallel computers. The inventors of HPF strove for an easy-to-use language which was intended to enable portability and efficiency. However, until now the desired efficiency has not been reached. On the contrary, HPF programs are notorious for their poor performance. This paper provides a rehabilitation of HPF. It is demonstrated how currently available HPF constructs can be utilized to solve sizeable numerical problems efficiently. The method suggested utilizes HPF's EXTRINSIC mechanism to integrate existing numerical single processor software for computationally expensive kernels into HPF programs. By using the technique described in this paper, the empirical efficiency, i.e., the ratio of the empirical floating-point performance to the theoretical peak performance, can be raised to 50\% and more. Even on message-passing machines with slow communication networks, such as PC clusters (Beowulf clusters) using a 100 Mbit/s Ethernet interconnection, highly satisfactory empirical efficiency results. The performance achieved is even competitive with that of well-established numerical libraries based on MPI. In contrast to earlier approaches for utilizing existing numerical software in HPF programs, the method presented here uses only HPF features and is therefore portable.
scientific article; zbMATH DE number 1715567