2016-12-08 10 views
1

Ich bin neu in der MPI-Welt und es gibt eine Frage, die mich wirklich nervt. Was ist der wahre Unterschied zwischen -n und -np?Mpiexec Unterschied zwischen -n und -np?

+3

Ein Nachschlagen in der man-Seite könnte Ihnen helfen https://linux.die.net/man/1/mpiexec – Inian

+1

Bei den meisten MPI-Implementierungen sind diese beiden Optionen Synonyme. –

Antwort

3

Der MPI-Standard legt nicht fest, wie MPI-Ränge gestartet werden, und überlässt es der jeweiligen Implementierung, einen Mechanismus dafür bereitzustellen. Es wird nur empfohlen (siehe Section 8.8 des MPI 3.1-Standards für Details), dass ein Launcher (wenn überhaupt) mpiexec genannt wird und -n #procs zu den akzeptierten Methoden gehört, um die anfängliche Anzahl der MPI-Prozesse anzugeben. Daher macht die gestellte Frage keinen Sinn, wenn Sie nicht genau angeben, welche MPI-Implementierung Sie verwenden. Wie ich bereits in meinem Kommentar gesagt habe, sind bei den meisten Implementierungen beide Optionen synonym.

Beachten Sie, dass einige MPI-Implementierungen in Batch-Scheduling-Systeme wie Slurm, Torque usw. integriert werden können, und diese können ihre eigenen Mechanismen zum Starten eines MPI-Jobs bereitstellen. Open MPI bietet zum Beispiel den Prozess-Launcher orterun, symbolisiert als mpirun und mpiexec, der sowohl -n als auch -np Optionen versteht. Wenn Sie innerhalb eines Slurm-Jobs laufen, wird srun stattdessen verwendet und es versteht nur -n (es hat tatsächlich einen ganz anderen Satz von Optionen).

Verwandte Themen