DHPC Talk DHPCT-025

High-Performance Fortran Libraries and Services for Numerical Simulations in Computational Science

Ken Hawick

Archived: 25 February 1999

Presented at High-Performance Fortran User's Group Meeting (HUG'98), Porto, 25 June 1998.
See also the accompanying technical paper.

Abstract

Fortran has traditionally found its main use in numerically intensive computational codes, with High-Performance Fortran (HPF) providing a relatively portable mechanism for constructing data-parallel codes, with HPF2 now also enabling task-parallel codes. The way in which simulation codes and systems are engineered is changing, however. Batch-oriented codes set up manually are still widespread, but there is an increasing demand for high-level yet high-performance simulation environments and distributed systems. HPF can be used to produce well-engineered, yet high-performance modules to make up a back-end to a controlling or graphical front-end program.

We consider how HPF code modules can be written in library form, using the modular constructs of Fortran 95 and HPF2, to be run on parallel computing back-ends, with client front-ends that may be written in HPF or other languages. We focus on numerical simulation examples in computational science, and discuss library interface and distributed computing issues.

We consider how some abstractions can be made within common numerical simulations in areas such as computational high-energy and condensed-matter physics and computational fluid dynamics and discuss how these can lead to simulation modules in HPF, that are invoked on a parallel computing server from client programs such as conventional Fortran or C programs as well as Java programs and widely used computational environments such as Matlab. We are working with both HPF-style implementations such as the Connection Machine CM5 as well as true HPF implementations on DEC Alpha farms and SGI Power Challenge architectures, for which we present some indicative performance measures.

We discuss the current mechanisms for interfacing to high-performance scientific software libraries and lament the lack of a widely agreed interface. In particular, the client/server approach implies a strong need to develop libraries in HPF that conform to a uniform or standardised application programmer interface (API).

PostScript version of the slides

PDF version


[ DHPC Home | Projects | People | Organisations | Reports | Talks | Research | Education ]

webmaster@dhpc.adelaide.edu.au