Skip to main content

Generic Programming for Parallel Mesh Problems

  • Conference paper
Computing in Object-Oriented Parallel Environments (ISCOPE 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1732))

Abstract

We use the paradigm of generic programming together with the Standard Template Library (STL) to develop concepts and template classes that can represent finite sets and their relations as they occur in (parallel) finite element and other numerical methods. A key idea of our approach is to consider these sets as static search structures with clearly separated phases for insertions and retrievals. The resulting C++ template library Janus has generic domain and relation classes that allows a space-optimal and quickly traversable representation of finite element meshes and sparse matrix graphs. We give performance numbers for the parallel implementation of the Poisson equation for linear triangular elements on the Linux PC cluster of the Real World Computing Partnership. We also compare our approach with related work such as the HPC++ and POOMA projects.

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. Bastian, P., Birken, K., Johansen, S., Lang, K., Neuss, N., Rentz-Reichert, H., Wieners, C.: UG – a Flexible Software Toolbox for Solving Partial Differential Equations. Institut für Computeranwendungen III, Universität Stuttgart, Pfaffenwaldring 27, 70569 Stuttgart, http://www.ica3.uni-stuttgart.de

  2. Griebel, M., Zumbusch, G.: Hash-Storage Techniques for Adaptive Multilevel Solvers and their Domain Decomposition Parallelization. In: Mandel, J., Farhat, C., Cai, X.-C. (eds.) Proceedings of Domain Decomposition Methods 10. Contemporary Mathematics, vol. 218, pp. 279–286. AMS (1998)

    Google Scholar 

  3. Gerlach, J., Sato, M., Ishikawa, Y.: Janus: A C++ Template Library for Parallel Dynamic Mesh Applications. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds.) ISCOPE 1998. LNCS, vol. 1505, pp. 215–222. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  4. Schmidt, D.C.: Users Guide to gperf. Free Software Foundation, http://www.gnu.org/manual/gperf-2.7/gperf.html

  5. Musser, D.R., Stepanov, A.A.: Generic Programming. In: Gianni, P. (ed.) ISSAC 1988. LNCS, vol. 358, pp. 13–25. Springer, Heidelberg (1989)

    Google Scholar 

  6. Musser, D.: Generic Programming, http://www.cs.rpi.edu/~musser/gp/index.html

  7. Silicon Graphics Computer Systems, Inc. Standard Template Library Programmer’s Guide, http://www.sgi.com/Technology/STL

  8. Johnson, E., Gannon, D.: Programming with the HPC++ Parallel Standard Template Library. In: SIAM Conference on Parallel Processing for Scientific Computing, Minneapolis, Minnesota (March 1997)

    Google Scholar 

  9. Karmesin, S., Crotinger, J., Cummings, J., Haney, S., Humphrey, W., Reynders, J., Smith, S., Williams, T.J.: Array Design and Expression Evaluation in POOMA II. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds.) ISCOPE 1998. LNCS, vol. 1505, pp. 231–238. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  10. Siek, J.G., Lumsdaine, A.: The Matrix Template Library: A Generic Programming Approach to High Performance Numerical Algebra. In: Caromel, D., Oldehoeft, R.R., Tholburn, M. (eds.) ISCOPE 1998. LNCS, vol. 1505, pp. 59–70. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  11. Stroustrup, B.: The C++ Programming Language, 3rd edn. Addison-Wesley, Reading (1998)

    Google Scholar 

  12. Giloi, W.K., Kessler, M., Schramm, A.: PROMOTER: A High Level Object- Parallel Programming Language. In: Proceedings of International Conference on High Performance Computing, New Delhi, India (December 1995)

    Google Scholar 

  13. Shewchuk, J.R.: A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator, http://www.cs.cmu.edu/~quake/triangle.html

  14. Karypis, G.: Metis a Family of Multilevel Partitioning Algorithms, http://wwwusers.cs.umn.edu/~karypis/metis/main.shtml

  15. Ishikawa, Y., Tezuka, H., Hori, A., Sumimoto, S., Takahashi, T., O’Carroll, F., Harada, H.: RWC PC Cluster II and Score Cluster System Software – High Performance Linux Cluster. In: Proceedings of the 5th Annual Linux Expo, pp. 55–62 (1999)

    Google Scholar 

  16. Tezuka, H., Hori, A., Ishikawa, Y., Sato, M.: PM: An Operating System Coordinated High Performance Communication Library. In: Hertzberger, B., Sloot, P.M.A. (eds.) HPCN-Europe 1997. LNCS, vol. 1225, pp. 708–717. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  17. The OpenMP Consortium http://www.openmp.org . OpenMP: A Proposed Industry Stan- dard API for Shared Memory Programming (October 1997), http://www.openmp.org/mp-documents/paper/paper.ps

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gerlach, J., Sato, M. (1999). Generic Programming for Parallel Mesh Problems. In: Matsuoka, S., Tholburn, M. (eds) Computing in Object-Oriented Parallel Environments. ISCOPE 1999. Lecture Notes in Computer Science, vol 1732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10704054_12

Download citation

  • DOI: https://doi.org/10.1007/10704054_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66818-3

  • Online ISBN: 978-3-540-46697-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics