[ONLINE] Advanced MPI (PTC course)





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



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) TBA

Preliminary schedule

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


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.

  • Tuesday, 19 October
    • 08:45 09:00
    • 09:00 10:30
      Introduction to Pandas
    • 10:30 10:45
      Coffee Break 15m
    • 10:45 12:00
      Python in Distributed Environments
    • 12:00 13:00
      Lunch Break 1h
    • 13:00 14:45
      Introduction to scikit-learn
    • 14:45 15:15
      Optimizations for CPUs, GPUs and numerical stability
    • 15:15 15:30
      Coffee Break 15m
    • 15:30 16:45
      Hands-on exercises
    • 16:45 17:00