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:
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