Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3666))

Abstract

This paper discusses the parallel design of COOLFluiD (Computa- tional Object Oriented Library for Fluid Dynamics), a state-of-the-art C++ framework for multi-physics simulations using multiple numerical methods on unstructured grids. By using advanced techniques and specific design patterns, flexibility and modularity are assured. COOLFluiD was recently adapted to support parallel computations on distributed memory machines. For this, a parallel layer was added, designed to minimize impact on both users and software developers, while maintaining high performance. From the user’s point of view, parallelisation is fully transparent. The techniques making this possible will be discussed. Also presented is a technique for reconciling generic programming with libraries requiring explicit type information.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Message Passing Interface Forum, MPI: A message-passing interface standard, http://www.mpi-forum.org

  2. Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V.: PVM: Parallel virtual machine: a users’ guide and tutorial for networked parallel computing. MIT Press, Cambridge (1995)

    Google Scholar 

  3. Argonne National Laboratory, PETSc. Portable, Extensible Toolkit for Scientific Computation (2004), http://www-unix.mcs.anl.gov/petsc

  4. Lani, A., Quintino, T., Kimpe, D., Deconinck, H., Vandewalle, S.: The COOLFluiD Framework: Design Solutions fo High Performant Object Oriented Numerical Simulations of Partial Differential Equations. In: International Conference on Computational Science 2005, pp. 279–286 (2005)

    Google Scholar 

  5. De Ceuninck, P., Quintino, T., Vandewalle, S., Deconink, H.: Object-Oriented Framework for Multi-Method Parallel PDE software. In: ECOOP 2003 - European Conference for Object-Oriented Programming in the workshop Parallel/High-Performance Object-Oriented Scientific Computing (2003)

    Google Scholar 

  6. Myers, N.: A New and Useful Template Technique: Traits, C++ Report (June 1995)

    Google Scholar 

  7. Beveridge, J.: Self-Registering Objects in C++, Dr. Dobb’s Journal, August (1998b)

    Google Scholar 

  8. Toth, G.: A General Code for Modeling MHD flows on Parallel Computers: Versatile Advection Code. IAU Colloquium No. 153 on Magnetodynamic Phenomena in the Solar Atmosphere, Makuhari, Japan Proceedings, 471–472 (1995)

    Google Scholar 

  9. Gray, G., Kolda, T.: APPSPACK 4.0: Asynchronous Parallel Pattern Search for Derivative-Free Optimization. Sandia National Laboratories, http://software.sandia.gov/appspack

  10. Rijks, P., Squyres, J., Lumsdaine, A.: Performance Benchmarking of Object Oriented MPI. Technical report, University of Notre Dame Department of Computer Science and Engineering (1999)

    Google Scholar 

  11. Hillson, R., Iglewski, M.: C++2MPI: A Software Tool for Automatically Generating MPI Datatypes from C++ Classes. In: International Conference on Parallel Computing in Electrical Engineering (PARELEC 2000), pp. 13–17 (2000)

    Google Scholar 

  12. Koenig, A., Moo, B.E.: Templates and Duck Typing, C/C++ Users Journal (June 2005)

    Google Scholar 

  13. The National Center for Supercomputing Applications, HDF5 Homepage, http://hdf.ncsa.uiuc.edu/HDF5/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kimpe, D., Lani, A., Quintino, T., Poedts, S., Vandewalle, S. (2005). The COOLFluiD Parallel Architecture. In: Di Martino, B., Kranzlmüller, D., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2005. Lecture Notes in Computer Science, vol 3666. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11557265_66

Download citation

  • DOI: https://doi.org/10.1007/11557265_66

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-29009-4

  • Online ISBN: 978-3-540-31943-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics