MPI im Computerpool

System einrichten

Im Computerpool ist OpenMPI als MPI Implementierung installiert. Um dieses Nutzen zu können sind jedoch einige Einstellung an der persönliche Konfiguration nötig.

Wir stellen ein Skript (setup-mpi bereit, welches ihnen viel Arbeit beim Einrichten der Arbeitsumgebung für die Verwendung von MPI abnimmt. Laden Sie das Skript herunter, starten Sie ein Terminal und rufen Sie das Skript wiefolgt auf:

bash setup-mpi

Das Skript unstersucht im folgenden ihre persönliche Konfiguration und nimmt die nötigen Änderungen vor. Starten Sie anschliessend das Terminal neu, um MPI verwenden zu können.

Erste Schritte mit MPI

Laden Sie sich die Source Datei mpi-hello.cc herunter und übersetzen Sie diese mit Hilfe des Programms mpicxx und starten Sie anschliessend 4 Prozesse mit dem Befehl mpirun

mpicxx -o mpi-hello mpi-hello.cc
mpirun -np 4 ./mpi-hello

Sie sollten jetzt folgende Ausgabe erhalten:

Hello world!  I am process number: 1 on host SCHAF02
Hello world!  I am process number: 0 on host SCHAF02
Hello world!  I am process number: 2 on host SCHAF02
Hello world!  I am process number: 3 on host SCHAF02

Sie sehen, dass mpirun alle Prozesse auf dem gleichen Computer startet. Um jetzt das Programm wirklich auf verschiedenen Computern laufen zu lassen müssen Sie mpirun sagen, welche Computer verwendet werden sollen. Legen Sie dazu eine Datei machines mit folgende Inhalt an:

schaf12
schaf03
schaf25
schaf13

Starten Sie das Programm mit mpirun und übergeben Sie die Liste der Computer

mpirun -np 4 -machinefile machines ./mpi-hello

Sie erhalten etwas in der Art:

Hello world!  I am process number: 2 on host SCHAF25
Hello world!  I am process number: 1 on host SCHAF03
Hello world!  I am process number: 3 on host SCHAF13
Hello world!  I am process number: 0 on host SCHAF12

Machinedateien erzeugen

Es ist sehr aufwendig immer eine geeignete Liste von Computern in seinem machines File zu pflegen. Für den Computerpool bieten wir deshalb das untern verlinkte Skript gen-machines bereit, welches für Sie automatisch eine Liste der Computer generiert. Hierbei werden die Computer so sortiert, dass solche, die gerade zum Rechnen verwedent werden in der Liste weit hinten auftauchen, bevorzugt wird auf ihrem Computer und den Computer, die danach kommen gerechnet.

Laden Sie das Skript herunter, machen sie es ausführbar und rufen sie es auf:

chmod +x gen-machines
./gen-machines

anschliessend finden Sie eine generiert Datei machines, welche Sie für den Aufruf von mpirun verwenden können.

Material

Kontakt

E-Mailchristian.engwer@uni-muenster.de
Telefon+49 251 83-35067
Zimmer120.220