Loading Events

Introduction to MPI

Are you interested in distributed memory programming? Are you ready to go beyond using a single node?

Any given node has limited resources, whether memory or compute. Being able to scale beyond a single node enables you to leverage more resources, and make use of distributed memory architectures, such as supercomputers. 

You can join in-person OR virtually. This is a free workshop. Please register only if you plan to attend. 

Please join at 8:30am (AWST) to ensure you can access the system. The class starts promptly at 9:00am (AWST).

What will I learn in this 3-hour, hands-on workshop?

This workshop is a gentle introduction to MPI:

  • create a program that can run simultaneously on multiple nodes.
  • make multiple processes communicate.
  • coordinate these processes to ensure correctness.
  • leverage optimised communications for known patterns.
  • overlap computation and communications.

How about a more technical look at the agenda?

  • How it works (the SPMD paradigm)
  • Starting / ending an MPI program (MPI_Init / MPI_Finalize)
  • Sending / receiving messages (MPI_Send / MPI_Recv)
  • Synchronous / asynchronous sends (MPI_[BSR]send)
  • Explicit Synchronisation (MPI_Barrier)
  • Collective operations (MPI_Bcast / MPI_Reduce / MPI_Scatter / MPI_Gather)
  • Non-blocking operations (MPI_I[s|b|r]send / MPI_Irecv / MPI_Wait[|some|all] / MPI_Test[|some|all] | MPI_Ibarrier)

Pre-requisites:

  • You must be familiar with at least one of the following languages:
  • You do not need to have taken the OpenMP workshops, which will be held on 8 December. Please register for these OpenMP workshops if you are interested.

Meet your Trainer!

Dr. Ludovic Capelli is a teaching fellow at EPCC, the High-Performance Institute of the University of Edinburgh, UK. His efforts are exclusively dedicated to the education of HPC, being part of the teaching team for both on-campus and online versions of the MSc in HPC and MSc in HPC with Data Science at EPCC. He focusses primarily on two major HPC technologies: OpenMP and MPI, being a member of the OpenMP language committee and the MPI forum, as well as the course organiser for the “Advanced Message-Passing Programming” module at EPCC.

Register Here: