Skip to main content

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

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

Participating: Erwin Laure and other PDC staff

Contact:

PDC Support

Export to calendar

Description

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.

Prerequisites

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.

Agenda

Monday

  • 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 

Tuesday

  • 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 

Wednesday 

  • 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:
drive.google.com/open?id=1pMaVgOnx7p6UoN4yVryRCNxthtZEKqLf
and the lab exercises are available in this GitHub repository:
github.com/PDC-support/mpi-lab-exercises