Shared-Memory Programming with OpenMP

Course provider: EPCC
Target profile: No prior HPC or parallel programming knowledge is assumed, but attendees must already be able to program in C, C++ or Fortran. It is not possible to do the exercises in Java.
Date:
29 March 2017 to 31 March 2017
Registration deadline:
25 Mar 2017
Place: Southampton (
United Kingdom
)
Course level: Other
Keywords: OpenMP, Shared-Memory Programming

Course description:

Almost all modern computers now have a shared-memory architecture with multiple CPUs connected to the same physical memory, for example multicore laptops or large multi-processor compute servers. This course covers OpenMP, the industry standard for shared-memory programming, which enables serial programs to be parallelised easily using compiler directives. Users of desktop machines can use OpenMP on its own to improve program performance by running on multiple cores; users of parallel supercomputers can use OpenMP in conjunction with MPI to better exploit the shared-memory capabilities of the compute nodes.

This is an extended version of Shared-Memory Programming with OpenMP, delivered as part of the CDT programme at Southampton. In addition to covering OpenMP programming, the course will cover optimisation of both single-threaded and multi-threaded code.

This three day course will fall into two parts:

Days 1 and 2 will cover the basics of OpenMP programming, including parallel regions, worksharing, synchronisation and tasks.

Day 3 will cover optimising code for performance, starting with single-threaded considerations and moving on to mutli-threaded issues. All three days of the course will consist of lectures and hands-on practical exercises.

Application procedure: