MPI (Message Passing Interface)
What is MPI?
MPI also known as message passing interface is a set of standards that define a way to exchange data between processes. Most CPU parallel programming languages use MPI for communication.
What MPI implementations are available on Sharanga?
Currently, we support the following MPI implementations:
Type the following command in the terminal to view the list of available MPI modules:
$ spack find mpi
We request the users to use these modules as they are optimised to run on Sharanga. To compile a MPI based CPU parallel job on Sharanga, use any of the following MPI commands. We have also provided an equivalent GNU Compiler command for the same.
| MPI Compiler Collection | GNU Compiler Collection |
|---|---|
| mpicc | gcc |
| mpic++, mpicxx | g++ |
| mpifort | gfortran |
For example to compile a C++ MPI application sample.cxx using MPI C++ compiler mpic++:
$ mpic++ sample.cxx