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/.
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.
- 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
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.
These experts have registered specific competence on this subject:
|Field||AE FTE||General activities|
|Anders Sjöström (LUNARC)||LUNARC||GPU computing|
|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|
|85||Parallel programming support|
|Marcus Lundberg (UPPMAX)||UPPMAX||Computational science|
|100||I help users with productivity, program performance, and parallelisation. I also work with allocations and with sensitive data questions|