Verwendung von MPI (Message Passing Interface) in Fedora

Wo es möglich ist, wird Software in NeuroFedora auch mit MPI-Unterstützung erstellt. Fedora enthält die MPICH- und OpenMPI-Implementierungen von MPI. Software kann mit beiden oder auch ohne MPI-Unterstützung verwendet werden (sofern eine Version ohne MPI verfügbar ist).

Mit MPI erstellte Software wird als separates Paket für jede MPI-Implementierung bereitgestellt:

<software>-mpich
<software>-openmpi

Diese Pakete können mit DNF auf die gleiche Weise wie normale Pakete installiert werden.

Die von der Software bereitgestellten Binärdateien werden, sofern vorhanden, ebenfalls mit einem Suffix versehen, um eindeutig zu kennzeichnen, welche Implementierung von MPI verwendet wird:

<binary>_mpich
<binary>_mpi

Beispielsweise wird NEST folgendermaßen bereitgestellt:

nest-mpich
nest-openmpi

und die Binärdateien darin haben jeweils die folgenden Namen:

nest_mpich
nest_openmpi

MPI-Umgebungsmodule

Um einen MPI-Build zu verwenden, muss das entsprechende Umgebungsmodul geladen werden. Dadurch werden Pfade und Umgebungsvariablen korrekt eingerichtet. Für MPICH-Builds:

module load mpi/mpich-$arch # $arch ist die Architektur, zum Beispiel x86_64

Für OpenMPI-Builds:

module load mpi/openmpi-$arch # $arch ist die Architektur, zum Beispiel x86_64

Die Architektur kann mit dem Befehl uname im Terminal ermittelt werden:

uname -m

Im Allgemeinen ist es einfacher, diese Zeilen zur Datei ~/.bashrc hinzuzufügen (für Bash-Benutzer), so dass diese Befehle bei jeder Anmeldung automatisch ausgeführt werden.

Sofern erforderlich, wird die Verwendung von Software mit MPI auf einer separaten Seite dokumentiert.