Four-day course in parallel programming with MPI/OpenMP @ ETH

The aim of this course is to give people with some programming experience an introduction into the parallel programming models MPI and OpenMP. It starts on beginners level but also includes advanced features of the current standards. Hands-on sessions (in C and Fortran) will allow users to immediately test and understand the constructs of the Message Passing Interface (MPI) and the shared memory directives of OpenMP.

The first two days are an introduction to MPI and OpenMP, which includes a deep introduction to nonblocking MPI communication, and also touches newer OpenMP-4.0 features, such as the vectorization directives, thread affinity and OpenMP places.

The last two days are dedicated to advanced methods in MPI, e.g., the group and communicator concept, process topologies, derived data types, and one-sided communication. This course also includes latest features of MPI-3.0/3.1, e.g., the new MPI-3.0 shared memory programming model within MPI, the new Fortran language binding, nonblocking collectives, and neighborhood communication.

Content level: 40% for beginners, 30% intermediate, 30% advanced.

Location

Online course
Organizer: Scientific IT Services at ETHzürich, Zürich, Switzerland.

Start date

Aug 23, 2021
08:45

End date

Aug 26, 2021
17:00

Entry level

Basic

Course subject areas

Parallel Programming

Topics

MPI

OpenMP

Back to list

Program

For further details, see the four-day course agenda / content (preliminary).

Prerequisites and content levels

Prerequisites

Linux command shell commands and some basic programming knowledge in C or Fortran.

To be able to do the hands-on exercises of this course, you need a computer with an OpenMP capable C/C++ or Fortran compiler and a corresponding, up-to-date MPI library (in case of Fortran, the mpi_f08 module is required).

If you have access, you can also use a high performance compute (HPC) cluster for the exercises (such as e.g. Euler, for members of ETH Zurich; Euler has these software requirements readily available). Please note that the course organizers will not grant you access to an HPC system nor any other compute environment. Therefore, please make sure to have a functioning working environment / access to an HPC cluster prior to the course.

Please tar -xvzf TEST.tar.gz using https://fs.hlrs.de/projects/par/events/TEST.tar.gz  or unzip TEST.zip using https://fs.hlrs.de/projects/par/events/TEST.zip and verify your MPI and OpenMP installation with the tests described in TEST/README.txt within the archive.

The exercise about race-condition detection (at the end of the course) is optional. It would requires an installation of a race-condition detection tool, e.g., the Intel Inspector together with the Intel compiler.

Content levels
  • Beginner: 10 hours
  • Intermediate: 7 hours
  • Advanced: 7 hours

Learn more about course curricula and content levels.

Registration and further information

See course web-page in Zürich: https://sis.id.ethz.ch/services/consultingtraining/mpi_openmp_course.html

Shortcut-URL & Course number

http://www.hlrs.de/training/2021/ETH 

Related training

All training

November 04 - December 06, 2024

Online (flexible)


December 02 - 05, 2024

Online by JSC


January 13 - 31, 2025

Hybrid Event - Stuttgart, Germany


January 21 - 23, 2025

Hybrid Event - Stuttgart, Germany


February 17 - 21, 2025

Stuttgart, Germany


March 17 - 21, 2025

Dresden, Germany