OpenMPI: Einfache 2-Knoten-Setup

Ich habe Probleme beim ausführen eines OpenMPI-Programm mit nur zwei Knoten (der Knoten ist die gleiche Maschine, die ausführt, die mpiexec Befehl und der andere Knoten ist eine separate Maschine).

Ich rufe die Maschine ausgeführt wird mpiexec, master, und der andere Knoten slave.

Auf beiden master und slave, ich habe installiert OpemMPI in meinem home-Verzeichnis unter ~/mpi

Habe ich eine Datei namens ~/machines.txt auf master.

Idealerweise ~/machines.txt sollte enthalten:

master

slave

Jedoch, wenn ich das folgende auf master:

mpiexec -n 2 --hostfile ~/machines.txt hostname

AUSGABE, bekomme ich die folgende Fehlermeldung:

bash: orted: Befehl nicht gefunden

Aber wenn ~/maschines.txt enthält nur den Namen des Knotens, zu dem der Befehl ausgeführt wird, funktioniert es.
~/machines.txt:

master

Befehl:

mpiexec -n 2 --hostfile ~/machines.txt hostname

AUSGABE:

master
master

Habe ich versucht mit dem gleichen Befehl auf slave, und verändert die machines.txt Datei enthält nur slave, und es funktionierte auch. Ich habe dafür gesorgt, dass meine .bashrc - Datei enthält die richtigen Pfade für OpenMPI.

Was mache ich falsch? Kurz gesagt, es ist nur ein problem wenn ich versuche zum ausführen eines Programms auf einem entfernten Rechner, aber ich kann laufen mpiexec einwandfrei auf dem Rechner, der den Befehl ausführt. Das macht mich glauben, dass es ist nicht ein Pfad-Problem. Bin ich fehlt ein Schritt in der Verbindung von beiden Maschinen? Ich habe ohne Passwort ssh-login-Funktion vom master zum slave.

Wenn Sie installiert MPI unter ~/mpi bin, dann bin ich zu erraten, die Sie Hinzugefügt haben ~/mpi zu Ihrem PATH innen .bashrc oder so etwas. Gehen Sie nicht davon aus, dass .bashrc geladen ist auf jeder Maschine, auf der MPI ausgeführt wird.
Ja, fügte ich bin zu PATH und lib LD_LIBRARY_PATH für beide Maschinen.

InformationsquelleAutor Bryan | 2014-04-08

Schreibe einen Kommentar