language: en

Supporting Irregular Distributions in FORTRAN 90D/HPF Compilers

Ravi Ponnusamy yz Yuan-Shin Hwang Raja Das Joel Saltz Alok Choudhary Geoffrey Fox
UMIACS and Computer Science Department Northeast Parallel Architectures Center University of Maryland Syracuse University
College Park, MD 20742 Syracuse, NY 13244

Abstract This paper presents methods that make it possible to efficiently support irregular problems using data parallel languages. The approach involves the use of a portable, compiler-independent, runtime support library called CHAOS. The CHAOS runtime support library contains procedures that * support static and dynamic distributed array partitioning, * partition loop iterations and indirection arrays, * remap arrays from one distribution to another, and * carry out index translation, buffer allocation and communication schedule generation. The CHAOS runtime procedures are used by a prototype Fortran 90D compiler as runtime support for irregular problems. This paper also presents performance results of compiler-generated and hand-parallelized versions of two stripped down applications codes. The first code is derived from an unstructured mesh computational fluid dynamics flow solver and the second is derived from the molecular dynamics code CHARMM. A method is described that makes it possible to emulate irregular distributions in HPF by reordering elements of data arrays and renumbering indirection arrays. The results suggest that an HPF compiler could use reordering and renumbering extrinsic functions to obtain performance comparable to that achieved by a compiler for a language (such as Fortran 90D) that directly supports irregular distributions.

[This work was sponsored in part by ARPA (NAG-1-1485), NSF (ASC 9213821), and ONR (SC292-1-22913).]