MOOC: One-Sided Communication and the MPI Shared Memory Interface

Enterprises & SME Research & Science
MOOC: One-Sided Communication and the MPI Shared Memory Interface


This online course will start on the 15th of November, 2021 and it will run for four weeks, with an estimated effort of 4 hours per week. It is provided as a MOOC (Massive Open Online Course).

During this time you will be guided through the concepts of MPI one-sided communication and learn how to correctly and efficiently use MPI shared memory (with C and Fortran bindings). Several examples and exercises will illustrate the use of these features and help to understand their benefits. You will also be able to challenge your knowledge with some quizzes!


This online course has been developed by HLRS, ASTRON and SURF with the sponsorship of PRACE, and the registration is done for free through FutureLearn in the indicated link below.

Program and Learning outcomes

In the first week, you will get an overview and learn about the principles of one-sided communication. In the second week, we will provide more details, examples and excercises of one-sided communication.

This course will cover:

  • MPI one-sided communication
  • Window creation and allocation
  • Remote Memory Access (RMA) routines
  • Synchronization calls
  • Shared memory within MPI (programming model and usage)
  • Memory models and fast synchronization for MPI shared memory
  • Examples and exercise
Learning outcomes

By the end of the course, you will be able to:

  • Apply MPI one-sided communication to your communication patterns in your MPI applications
  • Explain the main advantages and disadvantages of MPI one-sided communication and MPI shared memory
  • Design your program using methods of MPI communication that prevent deadlocks and ensure a correct program
  • Improve scalability of your program by substituting non-scalable solutions with scalable one-sided approaches



C or Fortran and basic knowledge of MPI.

To take part in this course you need an MPI environment on your laptop or computer.


The course language is English.


via FutureLearn platform.


This online course is for free.



HLRS is part of the Gauss Centre for Supercomputing (GCS), which is one of the six PRACE Advanced Training Centres (PATCs) that started in Feb. 2012.
HLRS is also member of the Baden-Württemberg initiative bwHPC-C5.
This course is sponsored by the PRACE MOOC program, but is not part of the PRACE training curriculum. This course is also provided within the framework of the bwHPC-C5 user support.

Local Organizer

Rolf Rabenseifner phone 0711 685 65530,
Lucienne Dettki phone 0711 685 63894,