Parallel Programming with MPI

Training Course Description:

MPI (Message Passing Interface) is the de facto standard for parallel programming, defining how concurrent processes can communicate and hence work together to complete a given task in a shorter time. This course will introduce the concepts and terminology of High Performance Computing (HPC), before providing a comprehensive and detailed introduction to programming HPC machines using MPI. After an in-depth look at point-to-point and collective communication, we will study some more advanced but potentially very useful topics:

  • Cartesian topologies
  • MPI derived data types
  • User-defined binary operators
  • Groups and communicators

Each section of the course is supported by practical exercises.

Aimed at:

Anyone interested in writing parallel code.


Attendees should be able to program in either Fortran or C and be familiar with working in a UNIX environment (i.e., you should be able to connect to a machine remotely, use basic UNIX commands, edit a source file and understand the elementary steps in compiling object files and creating executables).


3 days.

After Course Attendees Will:

Be able to parallelize an existing serial code, or write a parallel code from scratch, using MPI.

Please email us if you would like to attend this course.