The Message Passing Interface (MPI) is the most widely used standard for running computations on many computers in parallel. MPI is used in many classes of problems in engineering and science; typical applications include computational fluid dynamics, climate modeling, machine learning, and more generally, solving large systems of differential equations. MPI can, however, also be used for simply distributing work across multiple compute nodes.

This course introduces the basic concepts of MPI using Mpi4py in Python. This way, the course focuses on “thinking in parallel”, rather than getting distracted by language and implementation details. Although the course is taught in Python, you can apply the concepts to C or FORTRAN programs.

In this course, you will learn:
• the basics of distributed memory parallel programs
• the structure of MPI programs
• Communicators
• Collective communication
• Point-to-point communication

  • Duration: 4 hours.
  • Target group: Researchers wishing to build or modify applications and who are interested in using the possibilities offered by modern hardware.
  • Prerequisites: Introduction Unix, basic experience in Python
  • Course leader:   (SURFsara).