|
Using MPI (Message Passing Interface) on Fedora
|
|
|
Where supported, software in NeuroFedora is also built with {MPI} support. Fedora includes link:http://www.mpich.org/[MPICH] and link:https://www.open-mpi.org/[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 link:https://modules.readthedocs.io/en/latest/[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.
|
|