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.