The Message Passing Interface is the de facto standard for distributed programming in a scientific context. It is implemented in libraries that can be used from C/C++/Fortran, although wrappers for other languages exist as well.
To write efficient code, a thorough understanding of the semantics of the API is required, this course will emphasize potential performance hazards and pitfalls. The strengths and weaknesses of various MPI features are discussed.
Program
In several hands-on sessions, the participant has the opportunity to experiment.
- Parallel architectures and programming models
- MPI overview
- MPI programming model
- Messages and point-to-point communication
- Non-blocking communication
- Derived data types
- Virtual topologies
- Collective communication
- MPI-2 overview
- MPI-2 one-sided communication
- Parallel debugging
- MPI-2 parallel file
- MPI-3 overview
This MPI-course covers the full MPI-3 standard.
Fees
Free
Pre-required logistics
Good working knowledge of C/C++ or Fortran programming is expected.
Basic knowledge of Linux usage and HPC systems helps.