skip to content

This introduces parallel programming using distributed memory message-passing and the MPI (Message Passing Interface) standard. It covers the properties of the computing model, and the basic facilities of the MPI standard. No prior knowledge of parallel programming is assumed. The goal is to teach all of the facilities that are used in most MPI codes that are developed and used in scientific and engineering research organisations, and to be able to refer to the MPI standard on specific points or to use other facilities.

The topics are likely to include:

  • Principles of message-passing
  • Basics of the MPI interface
  • Datatypes and collectives
  • Point-to-point transfers
  • Error handling
  • Communicators and process groups
  • Topologies
  • Composite types and language standards
  • Attributes and I/O
  • Debugging, performance and tuning
  • Problem decomposition

Prerequisites: The ability to program in at least one of Fortran, C or C++, including familiarity with editing, compilation, debugging and running programs, preferably under a Unix-like system.

Literature: Parallel Programming with MPI, P. Pacheco, Morgan Kaufmann, 1997.