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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
ARB. OpenMP Application Program Interface, version 3.0 (May 2008)
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)
McCalpin, J.: Stream: Sustainable memory bandwidth in high performance computers (1999)
Metcalf, M., Reid, J., Cohen, M.: Fortran 95/2003 explained. Oxford University Press, Oxford (2004)
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)
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)
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)
Veldhuizen, T.: Expression templates. C++ Report 7, 26–31 (1995)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)