Skip to main content

OpenMP

  • Reference work entry
Encyclopedia of Parallel Computing

Definition

OpenMP is an application programming interface for parallelizing sequential programs written in C, C++, and Fortran on shared-memory platforms. It provides a collection of compiler directives, a runtime library, and environment variables to enable programmers to specify the parallelism they desire to exploit in a program.

Discussion

Introduction

The OpenMP Application Programming Interface (API) is a parallel programming model for shared-memory computer systems intended to provide a straight-forward means of exploiting concurrency inherent in many algorithms. With the insertion of compiler directives, the programmer directs the compiler to parallelize portions of the code at a high level.

Originally designed to target loop-centric algorithms, version 3.0 of the API introduced the ability to define explicit tasks that may be executed concurrently. The OpenMP API is an agreement among hardware and software vendors that make up the OpenMP Architecture Review Board (ARB). The...

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 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover 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

Bibliography

  1. OpenMP Application Program Interface, Ver. 3.0, May 2008. http://www.openmp.org

  2. Ayguad E et al (2009) A proposal to extend the OpenMP tasking model for heterogeneous architectures. In: Evolving openMP in an age of extreme parallelism; 5th International Workshop on OpenMP, IWOMP 2009, Dresden, Germany, vol 5568/2009. Lecture Notes in Computer Science, Springer, Berlin/Heidelberg, pp 154–167

    Google Scholar 

  3. Ayguad E et al (2009) The design of OpenMP tasks. Parallel Distributed Syst. IEEE Trans, 20(3):404–418

    Article  Google Scholar 

  4. Chandra R, Dagum L, Kohr D, Maydan D, McDonald J, Menon R (2000) Parallel programming in OpenMP. Morgan Kaufmann, San Francisco

    Google Scholar 

  5. Chapman B, Huang L, Biscondi E, Stotzer E, Shrivastava A, Gatherer A (2009) Implementing OpenMP on a high performance embedded multicore MPSoC on a high performance embedded multicore mpsoc. In: IPDPS ’09: proceedings of the 2009 IEEE international symposium on parallel and distributed processing. IEEE Computer Society, Washington, DC, pp 1–8

    Google Scholar 

  6. Chapman B, Gabriele Jost, Ruud van der Pas. (2008) Using OpenMP: Portable Shared Memory Parallel Programming. MIT Press, Cambridge, MA London

    Google Scholar 

  7. Compunity (2009) cOMPunity – the community of OpenMP users. http://www.compunity.org/

  8. Duran A, Corbaln J, Ayguad E (2008) Evaluation of OpenMP task scheduling strategies. In: OpenMP in a new era of parallelism, vol 5004/2008. Lecture Notes in Computer Science, Springer, Heidelberg, pp 100–110

    Google Scholar 

  9. Itzkowitz M, Mazurov O, Copty N, Lin Y (2007) An OpenMP runtime API for profiling. Technical report, Sun Microsystems http://developers.sun.com/solaris/articles/omp-api.html

  10. Parallel Computing Forum (1991) PCF parallel Fortran extensions. V5.0.ACM Sigplan Fortran Forum 10(3):1–57

    Google Scholar 

  11. Nanjegowda R, Hernandez O, Chapman B, Jin HH (2009) Scalability evaluation of barrier algorithms for OpenMP. In: Evolving OpenMP in an age of extreme parallelism, vol 5568/2009, IWOMP, Lecture Notes in Computer Science, Springer, Heidelberg, pp 42–52

    Google Scholar 

  12. Su E, Tian X, Girkar M, Haab G, Shah S, Petersen P (2002) Compiler support of the workqueuing execution model for Intel SMP architectures. In: The Fourth European Workshop on OpenMP. Rome, Italy

    Google Scholar 

  13. Terboven C, an Mey D, Sarholz S (2008) OpenMP on multicore architectures. In: IWOMP ’07: proceedings of the 3rd international workshop on OpenMP, Springer, Berlin Heidelberg, pp 54–64

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

Chapman, B., LaGrone, J. (2011). OpenMP. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_50

Download citation

Publish with us

Policies and ethics