Multiple data parallelism with HPF and KeLP

High Performance Fortran (HPF) is an effective language for implementing regular data parallel applications on distributed memory architectures, but it is not well suited to irregular, block-structured applications such as multiblock and adaptive mesh methods. A solution to this problem is to use a non-HPF SPMD program to coordinate multiple concurrent HPF tasks, each operating on a regular subgrid of an irregular data domain. To this end we have developed an interface between the C++ class library KeLP, which supports irregular, dynamic block-structured applications on distributed systems, and an HPF compiler, SHPF. This allows KeLP to handle the data layout and inter-block communications, and to invoke HPF concurrently on each block. There are a number of advantages to this approach: it combines the strengths of both KeLP and HPF; it is relatively easy to implement; and it involves no extensions to HPF or HPF compilers. This paper describes the KeLP-HPF implementation and programming model, and shows an example KeLP-HPF multiblock solver.

[1]  Scott B. Baden,et al.  Flexible Communication Mechanisms for Dynamic Structured Applications , 1996, IRREGULAR.

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

[3]  Yutaka Ishikawa,et al.  Scientific Computing in Object-Oriented Parallel Environments , 1997, Lecture Notes in Computer Science.

[4]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[5]  Alok N. Choudhary,et al.  Double Standards: Bringing Task Parallelism to HPF Via the Message Passing Interface , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[6]  Piyush Mehrotra,et al.  High Performance Fortran: History, Status and Future , 1998, Parallel Comput..

[7]  Scott B. Baden,et al.  Run-Time Support for Multi-tier Programming of Block-Structured Applications on SMP Clusters , 1997, ISCOPE.

[8]  Geoffrey C. Fox,et al.  PCRC-based HPF Compilation , 1997, LCPC.

[9]  P. Colella,et al.  Local adaptive mesh refinement for shock hydrodynamics , 1989 .

[10]  M. Berger,et al.  Adaptive mesh refinement for hyperbolic partial differential equations , 1982 .

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

[12]  Thomas R. Gross,et al.  Task Parallelism in a High Performance Fortran Framework , 1994, IEEE Parallel & Distributed Technology: Systems & Applications.

[13]  Scott B. Baden,et al.  Efficient Run-Time Support for Irregular Block-Structured Applications , 1998, J. Parallel Distributed Comput..

[14]  Joel H. Saltz,et al.  An Integrated Runtime and Compile-Time Approach for Parallelizing Structured and Block Structured Applications , 1995, IEEE Trans. Parallel Distributed Syst..