17–20 Nov 2025
TU Wien, Austria & 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)

Additional slides:

MPI_2025-04_intro+addons.pdf (cb)      
MPI I/O slides (cb)      
Best practice slides (cb)

STANDARD DOCUMENT

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

MPI4PY DOCUMENTATION

MPI4PY: https://mpi4py.readthedocs.io

EXERCISES

Hands-on labs are prepared for the course participants on the ASC 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 ASC exercise material (Jupyter Notebooks based on the HLRS course) is available from the:

ASC 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 ASC 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 ASC 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.asc.ac.at/event/213/surveys/217

Students, in addition, please provide your evaluation for the lecture VSC-School I:

https://tiss.tuwien.ac.at/survey/surveyForm.xhtml?courseNumber=057020&semesterCode=2025W

 


 

AGENDA + SLIDE NUMBERS - almost all exercises will be done in Jupyter Notebooks

 

1st day – 17 November 2025 – Monday

08:45  Join in
09:00Welcome
09:05       
 
MPI overview (slides 9-51)       
--> Excercise 1 (slide 17, @slide), Exercise 2 (slide 37, @slides+demo), Quiz 1 (slide 51, see Sol.)
10:30Break / breakout rooms (meet your exercise group) + break
10:45       


 
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:00Break
12:15       

 
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.)
13:30End of first day
 HOMEWORK 1 - see 02_pingpong.ipynb "5. finish - who wins the race?"  
                              please insert your values in the ping pong leader board  
HOMEWORK 2 - see slide 52 and do it in a terminal in ~/MPI_HLRS/tasks/...

 

2nd day – 18 November 2025 – Tuesday

08:45  Join in
09:00Ping pong benchmark – solution and results (discussion)

09:10  

 

Nonblocking communication (slides 105-137)       
--> 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.))
10:30Break
10:45       


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

 

3rd day – 19 November 2025 – Wednesday

08:45  Join in
09:00       

 
Groups & communicators (slides 209-221)       
--> BR (30 min): Exercise 1 (slide 218) + (Exercise 2 advanced (slide 220, only if time)),       
     Quiz 8(1) (slide 221), see Sol.)
10:00Break
10:15       


 
Virtual topologies (slides 241-269 + 274, 279-281 + 286)       
--> BR (20 min): Exercise 1 (slides 252-253) + Advanced Exercise 1 b (slide 255, if time/later)       
--> BR (30 min): Exercise 2 (slides 264-265) + Exercises 3+4 advanced (slides 267-268),       
     Quiz 9(1) (slide 269, see Sol.)                    + Exercises 5+6 advanced (slides 280-281)
12:00Break
12:15       



 
Derived datatypes (slides 425-449)       
--> Exercise 1 (slides 432-433, demo)       
--> BR (30 min): Exercise 2 (slides 445-446)       
                          (Advanced: Exercise 1 b (slide 435), Exercises 3+4 (slide 448)       
     Quiz 12(1) (slide 449, see Sol.)
13:30End of third day
 HOMEWORK 3 - heat example see slides 597-642 and do it in a terminal in ~/MPI_HLRS/tasks/.../heat/ 

 

4th day – 20 November 2025 – Thursday

08:45  Join in
09:00       


 
One-sided communication (slides 321-360)       
--> BR (20 min): Exercise 1 (slides 337-339)       
--> BR (30 min): Exercises 2 (slides 355-357) + Advanced Exercise 3 (slide 359)       
     Quiz 10 (slide 360, see Sol.)
10:30Break
10:45       


 
Shared memory one-sided communication (slides 361-381 + 400)       
--> BR (20 min): Exercise 1 (slides 368-370)       
--> BR (15 min): Exercise 2 (slides 380-381)       
     Quiz 11(1) (slide 400, see Sol.)
12:00Break
12:15Short tour: other MPI topics
12:30Short tour: MPI I/O
13:00Best practice, Summary, Q&A
13:30End of fourth day (course)