Skip to main content

Object-Oriented OpenMP Programming with C++ and Fortran

  • Conference paper
High Performance Computing Systems and Applications (HPCS 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5976))

  • 1444 Accesses

Abstract

Object-oriented programming has found its place in mainstream software application development since the 1990s and most current programming languages are either object-oriented by design, or have been retrofitted with such features. Given the recent trend towards multi-core processors, parallel programming is just about to become a mainstream requirement. In this work, we explore and compare techniques with which to parallelize object-oriented C++ and Fortran codes from the scientific domain with OpenMP. Our goal is to achieve the best possible performance while still maintaining the object-oriented programming style.

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. ARB. OpenMP Application Program Interface, version 3.0 (May 2008)

    Google Scholar 

  2. Gross, S., Peters, J., Reichelt, V., Reusken, A.: The DROPS Package for Numerical Simulations of Incompressible Flows using Parallel Adaptive Multigrid Techniques. IGPM-Report, vol. 211 (2002)

    Google Scholar 

  3. McCalpin, J.: Stream: Sustainable memory bandwidth in high performance computers (1999)

    Google Scholar 

  4. Metcalf, M., Reid, J., Cohen, M.: Fortran 95/2003 explained. Oxford University Press, Oxford (2004)

    MATH  Google Scholar 

  5. Terboven, C., an Mey, D., Schmidl, D., Jin, H., Reichstein, T.: Data and Thread Affinity in OpenMP Programs. In: Workshop Memory Access on future Processors: A solved problem?, ACM International Conference on Computing Frontiers, Ischia, Italy (May 2008)

    Google Scholar 

  6. Terboven, C., Schleiden, C., an Mey, D.: Comparing Programmability and Scalability of Multicore Parallelization Paradigms with C++. In: Ayguade, E., Gioiosa, R., Stenstrom, P., Unsal, O. (eds.) Second Workshop on Programmability Issues for Multi-Core Computers (MULTIPROG-2), Paphps, Cypress (January 2009)

    Google Scholar 

  7. Terboven, C., Spiegel, A., an Mey, D., Gross, S., Reichelt, V.: Parallelization of the C++ Navier-Stokes Solver DROPS with OpenMP. In: Joubert, G.R., Nagel, W.E., Peters, F.J., Plata, O., Tirado, P., Zapata, E. (eds.) Parallel Computing (ParCo 2005): Current & Future Issues of High-End Computing, Malaga, Spain, September 2005. NIC Series, vol. 33, pp. 431–438 (2005)

    Google Scholar 

  8. Veldhuizen, T.: Expression templates. C++ Report 7, 26–31 (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Terboven, C., an Mey, D., Kapinos, P., Schleiden, C., Merkulow, I. (2010). Object-Oriented OpenMP Programming with C++ and Fortran. In: Mewhort, D.J.K., Cann, N.M., Slater, G.W., Naughton, T.J. (eds) High Performance Computing Systems and Applications. HPCS 2009. Lecture Notes in Computer Science, vol 5976. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-12659-8_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-12659-8_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-12658-1

  • Online ISBN: 978-3-642-12659-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics