Parallel programming with MPI (14 hours)

MPI (Message Passing Interface) is the de-facto standard for distributed parallel programming of scientific applications. It specifies language bindings for C and Fortran. This training covers the MPI 3.1 standard, but also emphasizes potential pitfalls and best practices.

Subjects:

  • process model and language bindings
  • messages and point-to-point communication
  • non-blocking communication
  • collective communication
  • groups, communicators and virtual topologies
  • one-sided communication
  • shared memory
  • derived data types
  • parallel I/O
  • best practices

Prerequisites:

  • experience in C, C++, Fortran or Python programming;
  • for the section on hybrid programming, notions of OpenMP are required.