Introduction to OpenMP parallel programming in Fortran and C


1 day

This is an advanced course that runs once per academic year. If you would like a bespoke version of this course run in your department then please contact us.


Research postgraduate students and above

Course content

The purpose of this one day course is to give an introduction to the OpenMP parallel programming model and give hands on practice developing and adapting code to run on shared memory machines.

The course is designed for those users who already have experience of using (and perhaps developing) sequential code in C or Fortran and would like to examine the benefits of applying the OpenMP model to parallelise their code.

No previous experience of developing parallel code is expected, but familiarity with Fortran or C would be very useful as would the ability to use Linux and the batch scheduler on the HPC service.

At the end of the course, attendees will be able to:

  • Understand the architecture of a shared memory machine
  • Understand the advantages and disadvantages of the OpenMP model
  • Recall the syntax of the OpenMP API
  • Determine parallel and serial regions of a code (ie. what can and can’t be parallelised)
  • Understand and apply the need for shared and private data
  • Avoid data access conflicts
  • Write, compile and run OpenMP programs


Attendees should have some experience of using HPC services, perhaps through attending a course similar to Introduction to High Performance Computing at Leeds and be able to program in Fortran or C at an intermediate level (most of the teaching will use Fortran but examples will be in both languages).


This course should be booked through the IT Training Unit