Message Passing Interface (MPI) is a dominant programming model on clusters and distributed memory architectures. This course is focused on users with some experience with MPI that want to deepen their knowledge. The course briefly recapitulates basic concepts and describes them in more detail. Then, more advanced concepts will be described (e.g., one-sided communication, parallel file I/O). Attendees will be able to immediately test and understand all these constructs in hands-on sessions.
This course was originally developed by Rolf Rabenseifner (HLRS). The content level of the course is 40% for beginners, 40% for intermediate, and 20% for advanced users.
40% for beginners, 40% for intermediate, and 20% for advanced users
After the course, attendees should know the majority of MPI functions and should be aware of their appropriate use in order to write highly scalable applications.
Ondřej Meca holds a Ph.D. degree in Computer Science from VSB - Technical University of Ostrava, Czech Republic. He is currently a member of the Infrastructure Research Lab at IT4Innovations National Supercomputing Center. His research interests include verification of parallel algorithms, development of pre/post-processing algorithms for large-scale engineering problems, and development of highly-scalable linear solvers.
Claudia Blaas-Schenner (VSC Vienna, Austria) TBA
Day 1: 9:00 - 15:00 (lunch break included)
- Process model, point-to-point communication (short summary)
- Non-blocking communication (recapitulation)
- Collective communication (blocking, non-blocking)
Day 2: 9:00 - 15:00 (lunch break included)
- Groups and communicators
- Virtual topologies
- Derived datatypes
- Fortran and MPI
Day 3: 9:00 - 13:00
- One-sided communication
- Shared memory one-sided communication
- Parallel file I/O
It is partially supported by The Ministry of Education, Youth and Sports from the Large Infrastructures for Research, Experimental Development and Innovations project “e-Infrastruktura CZ – LM2018140”, partially by the PRACE-6IP project - the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 823767.