Advertisement

Object-Oriented Modeling of Parallel PDE Solvers

  • Michael Thuné
  • Krister Åhlander
  • Malin Ljungberg
  • Markus Nordén
  • Kurt Otto
  • Jarmo Rantakokko
Part of the IFIP — The International Federation for Information Processing book series (IFIPAICT, volume 60)

Abstract

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.

Keywords

object-oriented parallel PDEs Fortran C++ framework 

References

  1. [1]
    K. Ahlander, An extendable PDE solver with reusable components, in Computational Technologies for fluid/thermal/structural/chemical systems with industrial applications, V. V. Kudriavtsev and C. R. Kleijn, eds., vol. 397–1, New York, 1999, ASME, pp. 39–46.Google Scholar
  2. [2]
    K. Ahlander, An object-oriented framework for PDE solvers, PhD thesis, Uppsala University, Information Technology, Dept. of Scientific Computing, Uppsala, Sweden, 1999.Google Scholar
  3. [3]
    K. Ahlander, M. Haveraaen, and H. Munthe-Kaas, On the role of mathematical abstractions for scientific computing. Proceedings of the IFIP WG 2.5 Working Conference on Software Architectures for Scientific Computing Applications, Kluwer, 2000.Google Scholar
  4. [4]
    E. Arge, A. M. Bruaset, and H. P. Langtangen, eds., Modern Software Tools for Scientific Computing, Birkhäuser, 1997.Google Scholar
  5. [5]
    D. L. Brown et al., Overture: An object-oriented framework for solving partial differential equations on overlapping grids,in Object Oriented Methods for Interoperable Scientific and Engineering Computing, M. E. Henderson, C. R. Anderson, and S. L. Lyons, eds., SIAM, Philadelphia, 1999, ch. 26.Google Scholar
  6. [6]
    J. C. Cummings ET AL., Rapid application development and enhanced code interoperability using the POOMA framework,in Object Oriented Methods for Interoperable Scientific and Engineering Computing, M. E. Henderson, C. R. Anderson, and S. L. Lyons, eds., SIAM, Philadelphia, 1999, ch. 29.Google Scholar
  7. [7]
    D. A. Danielson, Vectors and Tensors in Engineering and Physics, Addison—Wesley, Reading, MA, 2nd ed., 1997.Google Scholar
  8. [8]
    V. K. Decyk et al., How to express C++ concepts in Fortran 90, Scientific Programming, 6 (1997), pp. 363–390.CrossRefGoogle Scholar
  9. [9]
    M. G. Gray et al., Shadow-object interface between Fortran 95 and C++, Computers in Science and Engineering, 1 (1999), pp. 6370.Google Scholar
  10. [10]
    A. H. Hayes, The changing face of high-performance computing in the United States, Wuhan Journal of Natural Sciences, 1 (1996), pp. 420–429. Keynote Lecture at the International Conference on Parallel Algorithms, Wuhan University, Wuhan, P. R. China, October 1995.Google Scholar
  11. [11]
    S. Holmgren and K. Otto, A framework for polynomial pre-conditioners based on fast transforms I: Theory, BIT, 38 (1998), pp. 544–559.MathSciNetCrossRefzbMATHGoogle Scholar
  12. [12]
    S. Holmgren and K. Otto, A framework for polynomial preconditioners based on fast transforms II: PDE applications, BIT, 38 (1998), pp. 721–736.MathSciNetCrossRefzbMATHGoogle Scholar
  13. [13]
    S. Karmesin et al., Array design and expression evaluation in POOMA II, in Proceedings of ISCOPE’98, Lecture Notes in Computer Science, Vol. 1505, D. Calomel, R. Oldehoeft, and M. Tholburn, eds., Berlin, 1998, Springer-Verlag.Google Scholar
  14. [14]
    J. F. Karpovich et al., A parallel object-oriented framework for stencil algorithms, in Proceedings of the Second International Sym posium on High-Performance Distributed Computing, 1993, pp. 3441. Google Scholar
  15. [15]
    E. Larsson and S. Holmgren, A parallel domain decomposition method for the Helmholtz equation, Tech. Rep. 2000–006, Dept. of Information Technology, Uppsala Univ., Uppsala, Sweden, 2000.Google Scholar
  16. [16]
    M. Lemke and D. Quinlan, P++, a parallel C++ array class library for architecture-independent development of structured grid applications, ACM SIGPLAN Notes, 28 (1993), pp. 21–23.CrossRefGoogle Scholar
  17. [17]
    M. Ljungbergand M. Thuné, Mixed C++/Fortran 90 implementation of parallel flow solvers. Accepted for publication in the proceedings of Parallel CFD 2000.Google Scholar
  18. [18]
    E. Mossberg, K. Otto, and M. Thuné, Object-oriented software tools for the construction of preconditioners, Sci. Programming, 6 (1997), pp. 285–295.CrossRefGoogle Scholar
  19. [19]
    M. Nordén, Stencils for parallel object-oriented PDE solvers, Master’s thesis, Uppsala University School of Engineering, 2000. Report No. UPTEC F 00 067.Google Scholar
  20. [20]
    K. Otto, A tensor framework for preconditioners based on fast transforms. Manuscript.Google Scholar
  21. [21]
    K. Otto and E. Larsson, Iterative solution of the Helmholtz equation by a second-order method, SIAM J. Matrix Anal. Appl., 21 (1999), pp. 209–229.MathSciNetCrossRefzbMATHGoogle Scholar
  22. [22]
    J. Rantakokko, Software tools for partitioning of block-structured applications, in Proceedings of ISCOPE’98, Lecture Notes in Computer Science, Vol. 1505, D. Caromel, R. Oldehoeft, and M. Tholburn, eds., Berlin, 1998, Springer-Verlag.Google Scholar
  23. [23]
    J. Rantakokko, Partitioning strategies for structured multiblock grids, Parallel Computing, 26 (2000), pp. 1161–1680.MathSciNetGoogle Scholar
  24. [24]
    X. Sun and J. L. Gustafson, Towards a better parallel performance metric, Parallel Computing, 17 (1991), pp. 1093–1109.CrossRefzbMATHGoogle Scholar
  25. [25]
    M. Thuné et al., Object-oriented construction of parallel PDE solvers, in Modern Software Tools for Scientific Computing, E. Arge, A. M. Bruaset, and H. P. Langtangen, eds., Birkhäuser, Boston, MA, 1997, pp. 203–226.CrossRefGoogle Scholar
  26. [26]
    R. D. Williams, DIME++: A language for parallel PDE solvers, Tech. Rep. CCSF-29–92, Caltech, Pasadena, CA, 1993.Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2001

Authors and Affiliations

  • Michael Thuné
    • 1
  • Krister Åhlander
    • 1
  • Malin Ljungberg
    • 1
  • Markus Nordén
    • 1
  • Kurt Otto
    • 1
  • Jarmo Rantakokko
    • 1
  1. 1.Uppsala UniversityUppsalaSweden

Personalised recommendations