Difference between revisions of "OpenMP"
(Added direct links to standard and Example documents) |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:Parallel programming]] | [[Category:Parallel programming]] | ||
− | OpenMP is an Application Program Interface (the OpenMP API) for shared-memory parallelism in C, C++, and Fortran programs. See also [[Pthreads]]. | + | OpenMP is an Application Program Interface (the OpenMP API) for shared-memory parallelism in [[C]], [[C++]], and [[Fortran]] programs. See also [[Pthreads]]. |
For a detailed description of OpenMP, see http://openmp.org/. | For a detailed description of OpenMP, see http://openmp.org/. | ||
+ | |||
+ | |||
+ | == Resources == | ||
+ | === Textbook === | ||
+ | ''Using OpenMP'', by: Barbara Chapman, Gabriele Jost and Ruud van der Pas, MIT press, Cambridge, Mass, 2008 | ||
+ | |||
+ | This book describes the traditional and for many scientific codes most important concepts of the OpenMP API. The discussion includes performance considerations and common coding mistakes. The book is based on the OpenMP standard 2.5. | ||
+ | |||
+ | === Tutorials === | ||
+ | * Tim Mattson from Intel created a video tutorial: ''Introduction to OpenMP''. The tutorial is freely available on [https://www.youtube.com/playlist?list=PLLX-Q6B8xqZ8n8bwjGdzBJ25X2utwnoEG youtube]. This tutorial also discusses more recent concepts such as the OpenMP ''task'' construct. | ||
+ | |||
+ | * A good tutorial on the SIMD construct, first introduced in OpenMP 4.0, is available from the [http://www.hpctoday.com/hpc-labs/explicit-vector-programming-with-openmp-4-0-simd-extensions/ HPC today website] | ||
+ | |||
+ | * Blaise Barney provides a tutorial on the Lawrence Livermore National Laboratory's [https://computing.llnl.gov/tutorials/openMP/ webpage] | ||
+ | |||
+ | === Standard Specifications === | ||
+ | The most recent and earlier versions of the OpenMP standard is available from the OpenMP ARB's [http://www.openmp.org/specifications/ website]. | ||
+ | * [http://www.openmp.org/wp-content/uploads/openmp-4.5.pdf OpenMP 4.5 standard] | ||
+ | * [http://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf OpenMP 4.0 standard] | ||
+ | * [http://www.openmp.org/wp-content/uploads/OpenMP3.1.pdf OpenMP 3.1 standard] | ||
+ | |||
+ | Starting with OpenMP 4.0 the examples, explaining some of the constructs in-depth, are no longer part of the actual standard document but are available as a separate documents. | ||
+ | * [http://www.openmp.org/wp-content/uploads/openmp-examples-4.5.0.pdf OpenMP 4.5 examples] | ||
+ | * [http://www.openmp.org/wp-content/uploads/openmp-examples-4.0.2.pdf OpenMP 4.0 examples] | ||
== Experts == | == Experts == | ||
{{list experts}} | {{list experts}} |
Latest revision as of 14:40, 31 January 2017
OpenMP is an Application Program Interface (the OpenMP API) for shared-memory parallelism in C, C++, and Fortran programs. See also Pthreads.
For a detailed description of OpenMP, see http://openmp.org/.
Resources
Textbook
Using OpenMP, by: Barbara Chapman, Gabriele Jost and Ruud van der Pas, MIT press, Cambridge, Mass, 2008
This book describes the traditional and for many scientific codes most important concepts of the OpenMP API. The discussion includes performance considerations and common coding mistakes. The book is based on the OpenMP standard 2.5.
Tutorials
- Tim Mattson from Intel created a video tutorial: Introduction to OpenMP. The tutorial is freely available on youtube. This tutorial also discusses more recent concepts such as the OpenMP task construct.
- A good tutorial on the SIMD construct, first introduced in OpenMP 4.0, is available from the HPC today website
- Blaise Barney provides a tutorial on the Lawrence Livermore National Laboratory's webpage
Standard Specifications
The most recent and earlier versions of the OpenMP standard is available from the OpenMP ARB's website.
Starting with OpenMP 4.0 the examples, explaining some of the constructs in-depth, are no longer part of the actual standard document but are available as a separate documents.
Experts
These experts have registered specific competence on this subject:
Field | AE FTE | General activities | ||
---|---|---|---|---|
Anders Sjöström (LUNARC) | LUNARC | GPU computing MATLAB General programming Technical acoustics | 50 | Helps users with MATLAB, General programming, Image processing, Usage of clusters |
Chandan Basu (NSC) | NSC | Computational science | 100 | Working on climate and weather codes EU projects IS-ENES and PRACE. |
Joachim Hein (LUNARC) | LUNARC | Parallel programming Performance optimisation | 85 | Parallel programming support Performance optimisation HPC training |
Marcus Lundberg (UPPMAX) | UPPMAX | Computational science Parallel programming Performance tuning Sensitive data | 100 | I help users with productivity, program performance, and parallelisation. I also work with allocations and with sensitive data questions |