Skip to main content Skip to navigation

Parallelism with Open MP

OpenMP (Open Multi Processing) is a popular method for writing parallel (multi-processor) codes for shared memory machines (usually single physical computers). It relies on all processors having access to the same memory, and helps the programmer to divide and order work on multiple processing units.

These slides and notes cover the very basics of OpenMP, from a first code up to some simple, but already very useful, test programs. To follow these, you should be able to write simple programs (including basic arrays) in either C or Fortran, and have access to a computer with a suitable compiler. Intel or GCC from approximately the last ten years is sufficient, or Clang from 2015 onwards. Alternately, if you have access to the Warwick SCRTP cluster machines (Orac), you can run code there.

If you're not sure how to run Parallel code, see our HPC at Warwick and Beyond notes. If you're completely new to parallel programming, you may wish to work through the first two chapters of our Parallelism Primer notes (note Chapter 3 has significant overlap with this course).


Part 1 - Concepts

Part 2 - Introduction to OpenMP (runs before and after morning coffee)

Part 3 - More OpenMP (runs after lunch)

Code and Exercises

All code examples from the slides, and the exercises for the course are available on Github at Please ask if you need help with Git


The livestream video is available at We endeavour to edit out the breaks etc within about a week of the course running.

December 2020 Arrangements

For December 15th 2020:

We'll be streaming the content live and using a video conference service for questions and feedback. The session will start at 10am with a lunch break at 1-2pm, and coffee breaks throughout. The stream link is Video conference link available on the day.