Skip to main content

OpenMP Extensions for Generic Libraries

  • Conference paper
Book cover OpenMP in a New Era of Parallelism (IWOMP 2008)

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

Included in the following conference series:

Abstract

This paper proposes extensions to the OpenMP standard to provide first-class support for parallelizing generic libraries such as the C++ Standard Library (SL). Generic libraries are especially known for their efficiency, reusability and composibility. As such, with the advent of ubiquitous parallelism, generic libraries offer an excellent avenue for parallelizing the existing applications that use these libraries without requiring the applications to be rewritten. OpenMP, which would be ideal for executing such parallelizations, does not support many of the modern C++ idioms such as iterators and function objects that are used extensively in generic libraries. Accordingly, we propose extensions to OpenMP to better support modern C++ idioms to aid in the parallelization of generic libraries and applications built with those libraries.

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. Asanovic, K., et al.: The landscape of parallel computing research: A view from berkeley. Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley (December 2006)

    Google Scholar 

  2. Austern, M.H., Towle, R.A., Stepanov, A.A.: Range partition adaptors: a mechanism for parallelizing STL. SIGAPP Appl. Comput. Rev. 4(1), 5–6 (1996)

    Article  Google Scholar 

  3. OpenMP Architecture Review Board. OpenMP Application Program Interface, version 3.0 draft (October 2007)

    Google Scholar 

  4. Garcia, R., Järvi, J., Lumsdaine, A., Siek, J., Willcock, J.: An extended comparative study of language support for generic programming. Journal of Functional Programming 17(2), 145–205 (2007)

    Article  MATH  Google Scholar 

  5. Gregor, D., Järvi, J., Siek, J., Stroustrup, B., Dos Reis, G., Lumsdaine, A.: Concepts: Linguistic support for generic programming in C++. In: Proceedings of the 2006 ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (OOPSLA 2006), October 2006, pp. 291–310. ACM Press, New York (2006)

    Chapter  Google Scholar 

  6. Gregor, D., Stroustrup, B.: Proposed wording for concepts (revision 3). Technical Report N2421=07-0281, ISO/IEC JTC 1, Information Technology, Subcommittee SC 22, Programming Language C++ (October 2007)

    Google Scholar 

  7. Kambadur, P., Gregor, D., Lumsdaine, A.: Parallelization of generic libraries based on type properties. In: Proceedings of the 7th International Conference on Computational Science, Beijing, China, May 2007. LNCS, Springer, Heidelberg (2007)

    Google Scholar 

  8. Kambadur, P., Gregor, D., Lumsdaine, A., Dharurkar, A.: Modernizing the C++ interface to MPI. In: Proceedings of the 13th European PVM/MPI Users Group Meeting, Bonn, Germany, September 2006. LNCS, pp. 266–274. Springer, Heidelberg (2006)

    Google Scholar 

  9. Musser, D.R., Stepanov, A.A.: Algorithm-oriented generic libraries. Softw. Pract. Exper. 24(7), 623–642 (1994)

    Article  Google Scholar 

  10. Plauger, P.J.: The Standard Template Library (STL). C/C++ Users Journal 13(12), 10–20 (1995)

    Google Scholar 

  11. Reinders, J.: Intel Threading Building Blocks. O’Reilly, Sebastopol (2007)

    Google Scholar 

  12. Shah, S., Haab, G., Petersen, P., Throop, J.: Flexible control structures for parallelism in OpenMP. Concurrency - Practice and Experience 12(12), 1219–1239 (2000)

    Article  MATH  Google Scholar 

  13. Suess, M., Leopold, C.: A User’s Experience with Parallel Sorting and OpenMP. In: Proceedings of Sixth European Workshop on OpenMP - EWOMP 2004. LNCS, pp. 23–28. Springer, Heidelberg (2004)

    Google Scholar 

  14. Suess, M., Leopold, C.: Problems, workarounds and possible solutions implementing the singleton pattern with C++ and OpenMP. In: International Workshop on OpenMP (2007)

    Google Scholar 

  15. Sutter, H.: The free lunch is over: A fundamental turn toward concurrency in software. Dr. Dobb’s Journal (January 2005)

    Google Scholar 

  16. Terboven, C., an Mey, D.: OpenMP and C++. In: International Workshop on OpenMP (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rudolf Eigenmann Bronis R. de Supinski

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kambadur, P., Gregor, D., Lumsdaine, A. (2008). OpenMP Extensions for Generic Libraries. In: Eigenmann, R., de Supinski, B.R. (eds) OpenMP in a New Era of Parallelism. IWOMP 2008. Lecture Notes in Computer Science, vol 5004. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-79561-2_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-79561-2_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-79560-5

  • Online ISBN: 978-3-540-79561-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics