Advanced MPI @ EPCC at Imperial 27-28 Jan 2020

Imperial College London

Imperial College London

Advanced MPI

ARCHER, the UK's national supercomputing service, offers training in software development and high-performance computing to scientists and researchers across the UK. As part of our training service we will be running a 2-day Advanced MPI training session.


David HDavid Henty

David teaches on a wide range of EPCC's technical training courses, including MPI and OpenMP, and is overall course organiser for EPCC's MSc in High Performance Computing.


This course is aimed at programmers seeking to deepen their understanding of MPI and explore some of its more recent and advanced features. We cover topics including communicator management, non-blocking and neighbourhood collectives, single-sided MPI and the new MPI memory model. We also look at performance aspects such as which MPI routines to use for scalability, overlapping communication and calculation and MPI internal implementation issues.

Intended learning outcomes

  • Understanding of how internal MPI implementation details affect performance
  • Familiarity with neighbourhood collective operations in MPI
  • Knowledge of MPI memory models for RMA operations
  • Familiarity with MPI RMA operations and single-sided communication
  • Understanding of best practice for MPI+OpenMP programming


Attendees should be familiar with MPI programming in C, C++ or Fortran, e.g. have attended the ARCHER MPI course.

Pre-course setup

All attendees should bring their own wireless-enabled laptop set up with the required software. Practical exercises will be done using a guest account on ARCHER.


All sessions will include hands-on practical exercises in addition to lectures material.

Day 1: 27th January

     09:30 - 10:00 Registration
     10:00 - 10:30 MPI Quiz
     10:30 - 11:00 MPI Internals
     11:00 - 11:30 Coffee
     11:30 - 13:00 Point-to-point Performance
     13:00 - 14:00 Lunch
     14:00 - 15:30 MPI Optimisations
     15:30 - 16:00 Coffee
     16:00 - 17:00 Advanced Collectives
     17:00 CLOSE

Day 2: 28th January

     10:00 - 11:00 MPI + OpenMP (i)
     11:00 - 11:30 Coffee
     11:30 - 13:00 MPI + OpenMP (ii)
     13:00 - 14:00 Lunch
     14:00 - 15:30 New MPI shared-memory model
     15:30 - 16:00 Coffee
     16:00 - 17:00 Finish Exercises
     17:00 CLOSE

Course Materials

Slides and exercise material for this course.

The agenda of this meeting is empty