[ONLINE] Introduction to MPI @ IT4Innovations




Introduction to MPI


Message Passing Interface (MPI) is a dominant programming model on clusters and distributed memory architectures. This course is focused on its basic concepts. In particular, exchanging data by point-to-point and collective operations. Attendees will be able to immediately test and understand these constructs in hands-on sessions.

This course is mainly the beginners part of a course that was originally developed by Rolf Rabenseifner (HLRS).

The content level of this course is 75% for beginners and 25% for intermediate users. For experienced users that want to understand MPI in more detail, this course will be followed by an advanced course in October 2021.


75% for beginners and 25% for intermediate users



Purpose of the course (benefits for the attendees)

After the course, attendees should be able to understand MPI applications and write their own code.

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.

Žarko Bodroški received his Ph.D. degree in Computer Science from the Faculty of Sciences, University of Novi Sad in Serbia in 2020. He is a member of the Scientific Computing Research Group (SCORG) and the Information Systems Development Laboratory at the Department of Mathematics and Informatics, Faculty of Sciences. His main research topics are scientific, parallel and high performance computing, with a focus on modelling electronic structures of disordered organic materials using Density Functional Theory and MPI C programs.



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:


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.



Please also download examples that will be needed during the course. 


MPI standard

Message-passing interface standard version 3.1 can be downloaded from https://mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf


Final schedule is now available.

Please see the Timetable in the menu.


The course 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.

    • 8:45 AM
      Time to join the online training
    • Welcome
    • MPI Overview (talk + practical)
    • 11:00 AM
      Coffee Break
    • Process model and language bindings (talk + practical)
    • 12:30 PM
      Lunch Break
    • Messages and P2P communication (talk + practical)
    • Q&A (end of the first day)
    • Time to join the online training
    • Non-blocking communication (talk + practical)
    • Break
    • Collective communication (talk + practical)
    • Lunch break
    • Groups and communicators (talk + practical)
    • New Fortar module (optional)
    • Q&A (end of the second day)
    • Time to join the online training
    • Derived datatypes (talk + practical)
    • 10:30 AM
    • Best practices, advanced features (talk)
    • 12:30 PM
      End of the course