Apr 28 – 29, 2025
ONLINE
Europe/Vienna timezone

Course Material

SLIDES

These links will always point to the newest version of the slides.

MPI course: mpi_3.1_rab.pdf (PDF)     or     MPI course: mpi_3.1_rab-animated.pdf (PDF)

STANDARD DOCUMENT

MPI: A Message-Passing Interface Standard Version 4.1 (PDF)

MPI4PY DOCUMENTATION

MPI4PY: https://mpi4py.readthedocs.io

EXERCISES

Hands-on labs are prepared for the course participants on the VSC JupyterHub.

Outside of the course or if you prefer to use your own laptop or system to do the hands-on labs during the course, you'll need either Python + numpy + mpi4py or a C, C++, or Fortran compiler and an up-to-date MPI library, e.g., open-mpi or mpich, as well as a proper Jupyter environment if you want to run the Jupyter Notebooks locally.

The VSC exercise material (Jupyter Notebooks based on the HLRS course) is available from the:

VSC MPI GIT REPO     git clone https://gitlab.tuwien.ac.at/vsc-public/training/MPI

The HLRS exercise material can be downloaded from: (To verify your MPI library/installation please download either TEST.tar.gz or TEST.zip and do the tests described in the upper part at "A) Testing MPI" in the file TEST/README.txt within the archive.)

MPI31single.tar.gz     or     MPI31single.zip

ACKNOWLEDGMENTS & COPYRIGHT

The VSC MPI course is based on the MPI course developed by Rolf Rabenseifner, HLRS at the University of Stuttgart
the copyrighted material is used with permission.

The HLRS material (slides and exercises) is copyrighted by the HLRS at the University of Stuttgart. You may download the slides and exercises for your personal use and pass on the link above. Any other form of public distribution of the provided pdf files themselves or any derived material is not allowed, except with written permission by HLRS; in this case, please contact training(at)hlrs.de to request such a permission.

The VSC exercise material (Jupyter Notebooks based on the HLRS course) is available under a CC BY-SA 4.0 license.

 

FEEDBACK

Please provide your feedback (at the end of the course) here:

https://events.vsc.ac.at/event/183/surveys/182

 


 

AGENDA + SLIDE NUMBERS

 

1st day – 28 April 2025 – Monday

09:15  Join in
09:30Welcome
09:35  
 
MPI overview (slides 9-51)  
--> Excercise 1 (slide 18, demo), Exercise 2 (slide 37, demo), Quiz 1 (slide 51, see Sol.)
11:00Break / breakout rooms (meet your exercise group) + break
11:15  


 
Process model and language bindings (slides 53-74)  
--> Exercise 1 (slide 63, 5 min+demos), Excercise 2 (slide 70, 5 min+demos)  
--> if you are fast, think about Exercise 3 (slide 72, discussion)  
--> if there is still some time left, try the version tests provided in Exercise 4 (slides 73-74)
12:30Break
12:40  

 
Messages and point-to-point communication (slides 77-102)  
--> BR (35 min): Exercise 1+2 (slides 86-88) + (Advanced Exercise 2b (slide 90, only if time))  
--> BR (10 min): Exercise 3+4+(5 advanced) (slides 98-101), Quiz 3 (slide 102, see Sol.)
14:00End of first day

 

2nd day – 29 April 2025 – Tuesday

09:15  Join in
09:30Ping pong benchmark – solution and results (discussion)

09:40  
 

 

Nonblocking communication (slides 105-137)  
--> Exercise 1 (slides 114-117, demo)  
--> BR (30 min): Exercise 2+(3 advanced) (slides 131-134),  
     Quiz 4 A+B (slides 135-136, see Sol.) + (Quiz 4 C (slide 137, see Sol.))
11:00Break
11:15  


 
Collective communication (slides 161-184 + 186-188)  
--> Exercise 1 (slide 169, demo) + (Advanced Exercise 1b (slide 171, optional homework))  
--> BR (20 min): Exercise 2 (slide 181) + (Advanced Exercises 1. only (slide 183)),  
     Quiz 6(1) (slide 184, see Sol.)
12:30Break
12:45Optimizing MPI communication – a real world example (discussion)
13:00Short tour: other MPI topics
13:30Fortran and MPI – only for Fortran participants (slides 141-157, +129-130, +56)
14:00End of second day