Mar 10 – 12, 2021
Europe/Helsinki timezone
This course will be delivered as an ONLINE COURSE for remote participation 
due to the COVID-19 measures enforced by most European governments.


This course addresses hybrid programming by combining OpenMP and MPI, as well as more advanced topics in MPI (communication topologies, user-defined data type, and one-side-communications). Also, parallel I/O is discussed and exemplified in the course. The course consists of lectures and hands-on exercises on Puhti. The participants will be informed on connections details before the course.

Learning outcome

After the course the participants should be able to know how to combine MPI and OpenMP programming models to use full nodes efficiently, how to define its own sub-communicators in order to take advantage of network topology or special data patterns, define its own custom datatypes, and know how to efficiently save data in parallel using MPI-IO or HDF5, as well as understand the basics of the one-sided MPI communication.

Prerequisites and content level

In order to take the course the participant should be fluent in FORTRAN and/or C programming languages and have taken the PTC course Introduction to Parallel Computing or have similar background knowledge of MPI and OpenMP.

The content level of the course is broken down as: beginner's - 14%, intermediate - 51%, advanced - 35%, community-targeted content - 0%.


Day 1, Wednesday March 10

  • 09.00-09.45 Course intro, MPI & OpenMP recap

  • 9:45 -9:50   Break

  • 09:50-10.20 Hybrid MPI + OpenMP programming I

  • 10.20-12.00 Exercises (offline)

  • 12:00 - 13:00  Lunch time recommended

  • 13.00-13.30 Exercises (offline)

  • 13.30-14.15 Hybrid MPI + OpenMP programming II

  • 14.15-15.30 Exercises (offline)

  • 15.30-16.00 Q&A session

Day 2, Thursday March 11

  • 09.00-09.45 Advanced MPI I: User-defined datatypes

  • 9:45 -9:50   Break

  • 09:50-10.20 Advanced MPI II: Communication topologies

  • 10.20-12.00 Exercises (offline)

  • 12:00 - 13:00  Lunch time recommended

  • 13.00-13.30 Exercises (offline)

  • 13.30-14.15 Advanced MPI III: One-sided communication

  • 14.15-15.30 Exercises (offline)

  • 15.30-16.00 Q&A session

Day 3, Friday March  12

  • 09.00-09.30 Parallel I/O I: Simple POSIX with MPI

  • 9:30 -9:35  Break

  • 09:35-11.00 Parallel I/O II: MPI-IO

  • 11.00-12.00 Exercises (offline)

  • 12:00 - 13:00  Lunch time recommended

  • 13.00-14.30 Exercises (offline)

  • 14.30-15.00 Parallel I/O III: with HDF5

  • 15.00-15.30 Exercises (offline)

  • 15.30-16.00 Q&A session


Cristian Achim (CSC), Martti Louhivuori (CSC)

Language:  English
Price:           Free of charge
(3 training days)

REGISTRATION is OBLIGATORY since the details to access the online course will be provided to the registered and accepted attendees only. If you have registered to this course and you are not able to attend, please CANCEL your registration in advance by sending an email to



How to reach us

CSC is located in Keilaniemi, Espoo, 10 km west of the Helsinki City Center. Detailed information is available here.


We recommend choosing a hotel close to our premises. The nearest hotel is Radisson Blu Espoo, which is in a walking distance (only 500 m) from CSC. Another hotel close to the venue (1,8 km) is Sokos Hotel Tapiola Garden. Other hotels are located in Helsinki downtown with a frequent and fast metro connection to Keilaniemi. Please note, that there are no special rates for participants at any hotels.

If you have any questions, please click on the support link on the left to send an e-mail to the local organizers.