Using MPI (Message Passing Interface) on Fedora

Where supported, software in NeuroFedora is also built with MPI support. Fedora includes MPICH and OpenMPI implementations of MPI. Software can be used with either of these, or without any MPI support (if a non MPI version is available).

Software built with MPI is provided as separate packages for each MPI implementation:

<software>-mpich
<software>-openmpi

These packages can be installed using DNF in the same way as normal packages.

Binaries provided by the software, if any, will also be suffixed to clearly mark which implementation of MPI is in use:

<binary>_mpich
<binary>_mpi

For example, NEST is provided as:

nest-mpich
nest-openmpi

and the binaries in these are respectively named:

nest_mpich
nest_openmpi

MPI Environment modules

To use an MPI build, the appropriate environment module must be loaded. These correctly setup paths, and environment variables. For MPICH builds:

module load mpi/mpich-$arch # $arch is the architecture, for example x86_64

For OpenMPI builds:

module load mpi/openmpi-$arch # $arch is the architecture, for example x86_64

The architecture can be obtained using the uname command in a terminal:

uname -m

It is generally easier to add these lines to the ~/.bashrc file (for bash users) so that these commands are automatically run on each login.

Where required, use of software with MPI is documented on a separate page.