Object-oriented Modeling of Parallel PDE Solvers

This is a status report of a long-term research effort focusing on object-oriented modeling of parallel PDE solvers, based on finite difference methods on composite, structured grids. Two previous results of this effort are reviewed, the class libraries Cogito and Compose. Cogito is implemented in Fortran 90, with MPI for the message passing, and provides abstract data types for parallel composite-grid methods. Compose is in C++ and allows for fully object-oriented construction of PDE solvers by composition of objects. The object model behind Compose is described, and some research issues related to the refinement of the model are outlined. Finally, some recent results are presented, which are initial steps in addressing these issues.

[1]  Sverker Holmgren,et al.  A framework for polynomial preconditioners based on fast transforms I: Theory , 1998 .

[2]  Daniel J. Quinlan,et al.  Library for architecture-independent development of structured grid applications , 1992, SIGP.

[3]  Michael Thuné,et al.  Mixed C++/Fortran 90 implementation of parallel flow solvers , 2001 .

[4]  Michael Thuné,et al.  Object-Oriented Software Tools for the Construction of Preconditioners , 1997, Sci. Program..

[5]  Jarmo Rantakokko Partitioning strategies for structured multiblock grids , 2000, Parallel Comput..

[6]  Mark G. Gray,et al.  Shadow-object interface between Fortran 95 and C++ , 1999, Comput. Sci. Eng..

[7]  Elisabeth Larsson,et al.  A parallel domain decomposition method for the Helmholtz equation , 2000 .

[8]  Jarmo Rantakokko,et al.  Software Tools for Partitioning Block-Structured Applications , 1998, ISCOPE.

[9]  Elisabeth Larsson,et al.  Iterative Solution of the Helmholtz Equation by a Second-Order Method , 1999, SIAM J. Matrix Anal. Appl..

[10]  Boleslaw K. Szymanski,et al.  How to Express C++ Concepts in Fortran90 , 1997, Sci. Program..

[11]  Steve Karmesin,et al.  Array Design and Expression Evaluation in POOMA II , 1998, ISCOPE.

[12]  Daniel J. Quinlan,et al.  P++, a Parallel C++ Array Class Library for Architecture-Independent Development of Structured Grid , 1992 .

[13]  John F. Karpovich,et al.  A parallel object-oriented framework for stencil algorithms , 1993, [1993] Proceedings The 2nd International Symposium on High Performance Distributed Computing.

[14]  Scott W. Haney,et al.  Rapid Application Development and Enhanced Code Interoperability using the POOMA Framework , 1998 .

[15]  Sverker Holmgren,et al.  A framework for polynomial preconditioners based on fast transforms II: PDE applications , 1998 .

[16]  Krister Åhlander An Object-Oriented Framework for Pde Solvers , 1999 .

[17]  Peter Olsson,et al.  Object-Oriented Construction of Parallel PDE Solvers , 1996, SciTools.

[18]  Magne Haveraaen,et al.  On the Role of Mathematical Abstractions for Scientific Computing , 2000, The Architecture of Scientific Software.

[19]  Hans Petter Langtangen,et al.  Modern Software Tools for Scientific Computing , 1997, Birkhäuser Boston.

[20]  Xian-He Sun,et al.  Toward a better parallel performance metric , 1991, Parallel Comput..