Parallelizing Irregular Applications with the Vienna HPF+ Compiler VFC

Applications based on highly irregular, dynamically changing data structures cannot be handled efficiently with current High Performance Fortran and available HPF compilers. In order to support such applications, extensions of the language as well as sophisticated analysis and parallelization techniques are required. In this paper we introduce the Vienna HPF+ Compiler (VFC), a new source-to-source parallelization system for HPF+, an optimized version of HPF, which addresses the requirements of advanced irregular applications. In addition to extended data distribution and work distribution mechanisms, VFC supports various features of HPF+ to reduce preprocessing and communication overheads. The system provides powerful runtime parallelization strategies for complex loop nests with indirect array accesses which are common in irregular codes. Performance measurements show that the use of language features for communication schedule reuse results in a performance close to hand-written message passing programs.

[1]  Bryan Carpenter,et al.  Shpf: a Subset High Performance Fortran Compilation , 1996 .

[2]  Lars Isaksen,et al.  The IFS Model: A Parallel Production Weather Code , 1995, Parallel Comput..

[3]  Peter Brezany,et al.  Vienna Fortran Compilation System - Version 1.2 - User's Guide , 1996 .

[4]  Siegfried Benkner Vienna Fortran 90 and its Compilation , 1994 .

[5]  Thomas Brandes,et al.  Adaptor — A Transformation Tool for HPF Programs , 1994 .

[6]  Siegfried Benker HPF+: High Performance Fortran for Advanced Industrial Applications , 1998 .

[7]  Peter Brezany,et al.  Processing irregular codes containing arrays with multi-dimensional distributions by the PREPARE HPF compiler , 1995, HPCN Europe.

[8]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

[9]  Jens Knoop,et al.  Interprocedural distribution assignment placement: more than just enhancing intraprocedural placing techniques , 1997, Proceedings 1997 International Conference on Parallel Architectures and Compilation Techniques.

[10]  Siegfried Benkner Handling block-cyclic distributed arrays in Vienna Fortran 90 , 1995, PACT.

[11]  John A. Chandy,et al.  The Paradigm Compiler for Distributed-Memory Multicomputers , 1995, Computer.

[12]  Barbara M. Chapman,et al.  Extending HPF for Advanced Data-Parallel Applications , 1994, IEEE Parallel & Distributed Technology: Systems & Applications.

[13]  Guy Lonsdale,et al.  Performance Issues of the Parallel Pam-Crash Code , 1997, Int. J. High Perform. Comput. Appl..

[14]  Matthew Haines,et al.  Opusc A Coordination Language for Multidisciplinary Applications , 1997 .

[15]  Siegfried Benkner,et al.  HPF+: High Performance Fortran for Advanced Industrial Applications , 1998, HPCN Europe.

[16]  Piyush Mehrotra,et al.  High-level management of communication schedules in HPF-like languages , 1998, ICS '98.