English
Topic 12. Distributed computing with MPI message passing: point-to-point and collective operations, hybrid MPI + OpenMP programs
Goal: become familiar with the distributed-memory model and the MPI standard; learn to build and run Open MPI programs, use blocking and nonblocking point-to-point operations without deadlocks, collective operations (including those for chunks of different sizes), derived types, and Cartesian topologies; master the manager–worker scheme, domain decomposition with halo exchange, hybrid MPI + OpenMP programs with process binding, and scalability measurement.
Lecture contents
- The MPI standard and running programs — The distributed-memory model and the MPI standard · Installing, building, and running
- Point-to-point and nonblocking communication — The structure of an MPI program · Point-to-point operations · Deadlocks and nonblocking communication
- Collective operations and communicators — Collective operations · Derived types, communicators, and topologies · Parallel algorithms with message passing
- Hybrid programs and performance — Hybrid MPI + OpenMP programs · Running on multiple computers · Performance analysis
- Examples and common mistakes — Program examples · Debugging and common mistakes