Annotation
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.
Level
40% for beginners, 40% for intermediate, and 20% for advanced users
Language
English
Purpose of the course (benefits for the attendees)
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.
About the tutor(s)
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) is an active member of the MPI Forum, i.e., the standardization body for MPI, and acts as a chapter committee chair for MPI Terms and Conventions. Currently, she is affiliated at the VSC Research Center of TU Wien (Austria) where she is involved in teaching and responsible for developing a training and education program in HPC. She holds a Ph.D. in Technical Physics from TU Wien, has a strong backgroud in computational materials science, and more than 20 years of experience in applied HPC.
Materials
Test
To run before the course
On the below link please find files which contain a simple test application to verify installation of an MPI library (see the README file). All you need is a C, C++, or Fortran compiler and an up-to-date MPI library. Use the link based on your archiving application:
TEST.tar.gz
TEST.zip
Slides
The slides will be need during the exercises. Please download it from the below link. The file contains internal references that work the best with Acrobat.
Exercises
Please also download examples that will be needed during the course.
MPI31single.tar.gz
MPI31single.zip
MPI standard
Message-passing interface standard version 4.0 can be downloaded from https://mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf
Schedule
Day 1:
8:45 - 9:00 - Join
9:00 - 9:05 - Welcome
9:05 - 9:45 - Process model
9:45 - 10:35 - Point to point
10:35 - 10:45 - Break
10:45 - 12:00 - Non-blocking communication
12:00 - 12:45 - Lunch
12:45 - 14:10 - Collective communication
14:10 - 14:20 - Break
14:20 - 15:00 - Non-blocking collective
Day 2:
8:45 - 9:00 - Join
9:00 - 9:40 - Groups and communicators
9:40 - 9:50 - Break
9:50 - 11:30 - Virtual topologies
11:30 - 12:00 - Derived datatypes (part 1)
12:00 - 12:45 - Lunch
12:45 - 14:20 - Derived datatypes (part 2)
14:20 - 14:30 - Break
14:30 - 15:00 - Fortran
Day 3:
8:45 - 9:00 - Join
9:00 - 10:30 - One side communication
10:30 - 10:40 - Break
10:40 - 12:00 - Shared memory one side communication
12:00 - 12:45 - Lunch
12:45 - 14:10 - Parallel I/O
14:10 - 14:20 - Break
14:20 - 15:00 - Short tour across the rest of MPI functionality
Acknowledgements
This event is a PRACE Training Centre (PTC) course, co-funded by the Partnership of Advanced Computing in Europe (PRACE). The main web page of the course is located on the PRACE Events Portal.
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.