Languages and Tools for Parallel Scientific Computing

Languages such as Vienna Fortran and High Performance Fortran have been introduced to allow the programming of scalable parallel machines at a relatively high level of abstraction, based on the data-parallel Single-Program-Multiple-Data model. Their main features are focussed on the facility to express the distribution of data across the processors of a machine. In this lecture, we describe the current state-of-the-art in this area, together with an overview of compilation methods and programming environments required to support this language technology. We will place particular emphasis on the requirements posed by advanced applications (problems with irregular data and work distributions) and point out paths of future development.