OpenMP and C++

  • Christian Terboven
  • Dieter an Mey
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4315)


In this paper we present our experiences parallelizing the C++ programs DROPS and FIRE with OpenMP. Though the OpenMP specification includes C++, several shortcomings and missing features can be noticed in both the current OpenMP compilers and the specification. We propose solutions of how to overcome these problems and formulate wishes for the future OpenMP specification 3.0.


Image Retrieval Loop Body Parallel Region Memory Access Pattern Master Thread 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Terboven, C.: Shared-Memory Parallelisierung von C++ Programmen. Diploma thesis, RWTH Aachen University, Aachen, Germany (2006)Google Scholar
  2. 2.
    Groß, S., Peters, J., Reichelt, V., Reusken, A.: The DROPS package for numerical simulations of incompressible flows using parallel adaptive multigrid techniques,
  3. 3.
    Reusken, A., Reichelt, V.: Multigrid Methods for the Numerical Simulation of Reactive Multiphase Fluid Flow Models (DROPS),
  4. 4.
    Deselaers, T., Keysers, D., Ney, H.: Features for image retrieval – a quantitative comparison. In: Rasmussen, C.E., Bülthoff, H.H., Schölkopf, B., Giese, M.A. (eds.) DAGM 2004. LNCS, vol. 3175, pp. 228–236. Springer, Heidelberg (2004)Google Scholar
  5. 5.
    Clough, P., Müller, H., Sanderson, M.: The CLEF Cross Language Image Retrieval Track (ImageCLEF) 2004. In: Peters, C., Clough, P., Gonzalo, J., Jones, G.J.F., Kluck, M., Magnini, B. (eds.) CLEF 2004. LNCS, vol. 3491, pp. 597–613. Springer, Heidelberg (2005)Google Scholar
  6. 6.
    Clough, P., Müller, H., Deselaers, T., Grubinger, M., Lehmann, T., Jensen, J., Hersh, W.: The clef 2005 cross-language image retrieval track. In: Peters, C., Gey, F.C., Gonzalo, J., Müller, H., Jones, G.J.F., Kluck, M., Magnini, B., de Rijke, M., Giampiccolo, D. (eds.) CLEF 2005. LNCS, vol. 4022, pp. 535–557. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  7. 7.
    OpenMP Architecture Review Board: OpenMP Application Program Interface, v2.5 (2005)Google Scholar
  8. 8.
    Stroustup, B.: The C++ Programming Language. Addison-Wesley, Reading (2000)Google Scholar
  9. 9.
    Shah, S., Haab, G., Petersen, P., Throop, J.: Flexible Control Structures for Parallelism in OpenMP (1999)Google Scholar
  10. 10.
    Bracha, G., Cook, W.: Mixin-based inheritance. In: Proceedings of the Conference on Object-Oriented Programming: Systems, Languages and Applications (OOPSLA)Google Scholar
  11. 11.
    Terboven, C., Spiegel, A., an Mey, D., Gross, S., Reichelt, V.: Experiences with the OpenMP Parallelization of DROPS, a Navier-Stokes Solver written in C++. In: IWOMP 2005: Proceedings of the First International Workshop on OpenMP (2005)Google Scholar
  12. 12.
    Terboven, C., Spiegel, A., an Mey, D., Gross, S., Reichelt, V.: Parallelization of the C++ Navier-Stokes Solver DROPS with OpenMP. In: PARCO 2005: Proceedings of Parallel Computing (2005)Google Scholar
  13. 13.
    Terboven, C., Deselaers, T., Bischof, C., Ney, H.: Shared-Memory Parallelization for Content-based Image Retrieval. In: ECCV 2006: Workshop on Computation Intensive Methods for Computer Vision (to appear, 2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Christian Terboven
    • 1
  • Dieter an Mey
    • 1
  1. 1.Center for Computing and CommunicationRWTH Aachen UniversityAachenGermany

Personalised recommendations