mpirun
und mpiexec
sind grundsätzlich gleich - der Name des Prozess-Launcher in vielen MPI-Implementierungen. Der MPI-Standard sagt nichts darüber aus, wie die Ränge gestartet und kontrolliert werden sollen, aber er empfiehlt (obwohl nicht gefordert), dass, wenn es einen Launcher irgendwelcher Art gibt, er mpiexec
heißen sollte. Einige MPI-Implementierungen wurden mit mpirun
gestartet und dann aus Gründen der Kompatibilität auf mpiexec
umgestellt. Andere Implementierungen haben das Gegenteil gemacht. Am Ende stellen die meisten Implementierungen ihren Launcher unter beiden Namen bereit. In der Praxis sollte es keinen Unterschied geben in was mpirun
und mpiexec
tun.
Verschiedene MPI-Implementierungen haben unterschiedliche Möglichkeiten, die Prozesse zu starten und zu steuern. MPICH begann mit einer Infrastruktur namens MPD (Multi-Purpose Daemon oder so). Dann wechselte es zum neueren Hydra-Prozessmanager. Da Hydra die Dinge anders macht als MPD, verwendet das Hydra-basierte mpiexec
andere Befehlszeilenargumente als das MPD-basierte und um Benutzern die explizite Auswahl des Hydra-basierten zu ermöglichen, wird es als mpiexec.hydra
zur Verfügung gestellt. Der alte heißt mpiexec.mpd
. Es ist möglich, eine MPICH-basierte MPI-Bibliothek zu haben, die nur den Hydra-Launcher bereitstellt und dann mpiexec
und mpiexec.hydra
die gleiche ausführbare Datei ist. Intel MPI basiert auf MPICH und seine neueren Versionen verwenden den Hydra Prozessmanager.
Open MPI baut auf Open Run-Time Environment (ORTE) auf und sein eigener Prozessstarter heißt orterun
. Zur Kompatibilität ist orterun
auch als mpirun
und mpiexec
symbolisiert.
Fassen wir zusammen:
mpiexec.something
ist eine spezielle Version des MPI-Prozessstart für eine gegebene Implementierung
mpiexec
und mpirun
sind die generischen Namen, in der Regel Kopien oder symbolischen Links zu den eigentlichen Abschuss
- beide
mpiexec
und mpirun
sollten das gleiche tun
- einige Implementierungen benennen ihren Launcher
mpiexec
, einige nennen es mpirun
, einige nennen es beide, und das ist oft die Quelle der Verwirrung, wenn mehr als eine MPI-Implementierungen gleichzeitig in den Systempfaden verfügbar sind (z.B. wenn installiert von Distropackages)
Mögliches Duplikat von [Was ist der beste Fortschritt von Hydra MPI] (http://stackoverflow.com/questions/6091397/whats-the-best-advance-of-hydra-mpi) –
@JohnZwinck Hallo, JohnZwinck. Ich denke nicht. Ich kenne diesen Beitrag, aber nachdem ich ihn gelesen habe, verstehe ich immer noch nicht. Also habe ich diesen Beitrag gemacht – user15964