The goal of this course is to give people with some programming experience an introduction to the MPI and OpenMP parallel programming models. It starts at beginner level, but also covers advanced features of the current standards. Hands-on exercises (in C, Fortran, and Python) will allow participants to immediately test and understand the Message Passing Interface (MPI) constructs and OpenMP's shared memory directives.
The first block (Wed+Thu, Aug 20-21, 2025) will be an introduction to OpenMP, covering also newer OpenMP 4.0/4.5/5.0 features such as the vectorization directives, thread affinity, and OpenMP places. (Fri-Sun are not course days).
The second block (Mon+Tue, Aug 25-26, 2025) is an introduction to MPI, which includes a comprehensive introduction to nonblocking MPI communication, but also covers some intermediate topics such as derived data types and virtual process topologies.
The third block (Thu+Fri, Aug 28-29, 2025) is dedicated to intermediate & advanced methods in MPI, e.g., the group and communicator concept, advanced derived data types and one-sided communication. This block also includes latest features of MPI-3.0/3.1/4.0/4.1, e.g., the shared memory programming model within MPI, the new Fortran language binding, nonblocking collectives, neighborhood communication, and long counts.
You can choose any of the three 2-day blocks individually or combined.
Online course Organizer: Scientific IT Services at ETHzürich, Zürich, Switzerland.
20. Aug. 2025 08:45
29. Aug. 2025 16:00
Online by ETH
Englisch
Basis
Mittel
Paralleles Programmieren
MPI
OpenMP
Zurück zur Liste
Linux command shell commands and some basic programming skills in C or Fortran (or Python for the MPI part).
For the hands-on exercises in this course, you will need a computer with an OpenMP-capable C/C++ or Fortran compiler and a corresponding, current MPI library (for Fortran, the mpi_f08 module is required).
If you have access, you can also use a high performance compute (HPC) cluster for the exercises (e.g. Euler, for members of ETH Zurich; Euler has these software requirements readily available). Please note that the course organizers will not provide you with access to an HPC system or any other computing environment. Therefore, please make sure that you have a working environment / access to an HPC cluster prior to the course.
To check if your MPI and OpenMP installation is valid, please either
download TEST.tar.gz from this link and execute tar -xvzf TEST.tar.gz or
download TEST.zip from this link and run unzip TEST.zip.
Then follow the instructions in TEST/README.txt inside the archive.
You can also do the MPI exercises in Python with mpi4py + numpy. In this case, an appropriate installation on your system is required (together with a C/C++ or Fortran installation for OpenMP).
The optional exercise about race-condition detection (in the morning of the 2nd day) requires an installation of on race condition detection, e.g., the Intel Inspector (available until 2024) together with the Intel compiler, or Intel compilers 2024 or 2025 which include the ThreadSanitizer, or both. It is recommended to install it.
Please make sure to have a functioning working environment / access to an HPC cluster before the course starts. In case of questions, please contact the course organizer (see below).
Beginner: 14 hours (40%)
Intermediate: 10 hours 30 minutes (30%)
Advanced: 10 hours 30 minutes (30%)
Learn more about course curricula and content levels.
Dr. Rolf Rabenseifner is a world-renowned expert in parallel computing and teaches courses in the areas of parallel programming with the Message Passing Interface (MPI), shared memory parallelization with OpenMP, and the Partitioned Global Address Space (PGAS) languages UPC and Co-Array Fortran.
For details, please see the six-day course agenda / content (preliminary).
Classes will normally run from 9:00-16:30, with Zoom login starting at 8:45, with two exceptions:
On days 3+4 (Mon+Tue, Aug 25+26) there will be an additional 20-30 minute homework session which will be supported until 17:00 if you wish.
On the last day (day 6, Thu, Aug 29) the course ends at 16:00.
Please visit the ETH Zurich course website for registration (not yet updated / will be updated in April to 2025), fees and contact information.
http://www.hlrs.de/training/2025/par-eth and https://sis.id.ethz.ch/services/consultingtraining/mpi_openmp_course.html
See the training overview and the Supercomputing Academy pages.
April 08 - 09, 2025
Online
Mai 05 - 08, 2025
Mai 09 - 23, 2025
Hybrid Event - Stuttgart, Germany
Juni 16 - 17, 2025
Juni 17 - 18, 2025
Oktober 13 - 17, 2025
Stuttgart, Germany
November 03 - Dezember 12, 2025
Online (flexible)