25-27 May 2021
CET timezone

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 Sciencec. 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.

Preliminary schedule

Day 1: 9:00 - 15:00 (lunch break included)
 - MPI Overview
 - Process model
 - Messages and point-to-point communication

Day 2: 9:00 - 15:00 (lunch break included)
 - Non-blocking communication
 - Collective communication
 - Derived datatypes

Day 3: 9:00 - 13:00
 - Groups and communicators
 - Best practices
 - Other features (short tour)


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.



This training will be an online event. Technical details about joining will be sent to the accepted registrants before the event.


For the hands-on sessions you should know how to work on the Unix/Linux command line and be able to progam in either C/C++ or Fortran.

Capacity and Fees

Capacity limited to 30 participants.

The training is free of charge for all participants.

Registration for this event is currently open.