Writing parallel applications using MPI

Message Passing is presently the most widely deployed programming model in massively parallel high performance computing. Message passing is suitable for programming a wide range of current computer architectures, ranging from multi-core desktop equipment to the fastest HPC systems in the world, offering several hundred thousand processing elements.

Time: Mon 2017-12-11 09.00 - Wed 2017-12-13 17.00

Lecturer: Erwin Laure and other PDC staff

Location: Room 523, 5th floor Teknikringen 14, PDC, KTH main campus


This three day course will teach you how to write parallel programs using MPI. The course will be delivered by Erwin Laure and other PDC staff.

The course is at beginners level and assumes no prior experience in parallel computing. The concepts behind message passing and distributed memory computing will be introduced and the syntax of the key MPI calls will be explained. The course will include point-to-point communications, non-blocking communication and collective communications calls. Practical sessions to deepen your understanding of the lectures will be part of the course. At the end of the course, participants should be able to write their own MPI programs at an intermediate level. The teaching language for the course will be English.


You will need to have an account on the PDC systems in order to attend and participate in the computer labs for the course. Please apply for an account in good time before the course if you do not already have a PDC account. Participants should be able to write programs in either C or Fortran.



  • 09.00 - 09.30 Introduction to HPC 
  • 09.30 - 10.30 Introduction to distributed computing 
  • 10:30 - 11:00 Break 
  • 11.00 - 12.00 Introduction to MPI, p2p communication 
  • 12.00 - 13.00 p2p communication 
  • 13.00 - 14.00 Lunch
  • 14.00 - 14.30 Introduction to PDC environment 
  • 14.30 - 17.00 Labs 


  • 09.30 - 10.30 Collective operations 
  • 10:30 - 11:00 Break 
  • 11.00 - 12.00 Intermediate MPI 
  • 12.00 - 13.00 Lunch 
  • 13.00 - 17.00 Labs 


  • 10.00 - 11.00 Advanced Concepts 
  • 11:00 - 11:30 Break 
  • 11.30 - 12.00 Advanced Concepts 
  • 12.00 - 13.00 Lunch 
  • 13.00 - 17.00 Labs

Course material

The lectures for the course are available here:
and the lab exercises are available in this GitHub repository:


PDC Support

2017-12-11T09:00 2017-12-13T17:00 Writing parallel applications using MPI Writing parallel applications using MPI
Top page top