Introduction to parallel programming with MPI and OpenMP (training course, online)
Benedikt Steinbusch
(Course no. 16420222 in the training programme 2022 of Forschungszentrum Jülich)
Contents:
An introduction to the parallel programming of supercomputers is given. The focus is on the usage of the Message Passing Interface (MPI), the most often used programming model for systems with distributed memory. Furthermore, OpenMP will be presented, which is often used on shared-memory architectures.
The first four days of the course consist of lectures and short exercises. A fifth day is devoted to demonstrating the use of MPI and OpenMP in a larger context. To this end, starting from a simple but representative serial algorithm, a parallel version will be designed and implemented using the techniques presented in the course.
Agenda:
Day 1:
- Introduction
- MPI Basics
- MPI Point-to-point communication
Day 2:
- MPI Collective communication
- MPI Data types
Day 3:
- MPI I/O
- MPI Communicators
- MPI Thread compliance
Day 4:
- OpenMP Parallel construct
- OpenMP Data sharing
- OpenMP Loop work sharing
- OpenMP Task work sharing
Day 5:
Tutorial from serial to parallel program
Contents level | in hours | in % |
---|---|---|
Beginner's contents: | 14,1 | 47 % |
Intermediate contents: | 9 | 30 % |
Advanced contents: | 6,9 | 23 % |
Community-targeted contents: | 0 | 0 % |
Prerequisites:
Knowledge of either C, C++ or Fortran, basic knowledge of UNIX/Linux and a UNIX standard editor (e.g. vi, emacs)
Target audience:
Supercomputer users
Language:
This course is given in English.
Duration:
5 days
Date:
8-12 August 2022, 09:00-16:30
Venue:
online
Number of Participants:
maximum 15
Instructors:
Benedikt Steinbusch, Thomas Breuer, JSC
Contact:
- Institute for Advanced Simulation (IAS)
- Jülich Supercomputing Centre (JSC)
Room 207
Registration:
Please register via the registration form until 20 July 2022.