MPI and OpenMP in Scientific Software Development

This advanced course describes different everyday challenges that developers of parallel code have to face in everyday work, and provides working solutions for them. If you would like to do an introduction to MPI and OpenMP, please join our course Basic Parallel Programming with MPI and OpenMP.

Once a Year

Maksim Masterov
Carlos Teijeiro Barjas

Custom Link Basic Parallel Programming with MPI and OpenM

What will you learn?

In this course  you will see how to deal with parallel profiling and explore the knobs and dials that make your code exploit the best possible performance, just like domain decomposition techniques and parallel I/O. Each of these sessions includes hands-on exercises to facilitate the understanding of the different constructs. Moreover, you will also obtain some insight on useful parallel libraries and routines for scientific code development, like ParMETIS and PETSc.

As a participant for this course, you already have basic knowledge on parallel programming with MPI and OpenMP using the C programming language. If you are not very familiar with these basic concepts, please consider registering for our basic MPI and OpenMP course, where you can get all the required background! If you are a programmer of Fortran or Python, please note that the hands-on codes for this advanced course are written in C/C++, so you may need to have some understanding for the language syntax.


Please bring your own laptop (with an ssh client installed) for the hands-on sessions!

Knowledge of Linux/Unix commands is necessary

Knowledge of C or C++ (or good understanding of the syntax of these programming languages) is necessary

Basic knowledge of MPI and OpenMP concepts is necessary. Use our course Basic Parallel Programming with MPI and OpenMP to gain this knowledge.


Participation is free of charge

The language of instruction is English

Do you want to participate?

In our agenda you can see all the upcomping trainings and events