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