MPI

From HPC Wiki
Jump to: navigation, search

MPI is an open standard for Distributed Memory parallelization. Information on how to run an existing MPI program can be found in the How to Use MPI Section.

General

In MPI the most essential operations are:

  • MPI_Send for sending a message
int MPI_Send (void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
  • MPI_Recv for receiving a message
int MPI_Recv (void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status* status)

Although there a 100+ MPI functions defined in the standard (e.g. for non-blocking or collective communication, see the References for more details), you can write meaningful MPI application with less than 20 of those. Programs written with these functions have to be compiled with a specific compiler (options) and executed with a special startup program like detailed here.

Please check the more detailed tutorials in the References.

References

Introduction to MPI from PPCES (@RWTH Aachen) Part 1

Introduction to MPI from PPCES (@RWTH Aachen) Part 2

Introduction to MPI from PPCES (@RWTH Aachen) Part 3