Ich muss einige alte Codes aktualisieren, um mit der neuesten Version von OpenMPI zu arbeiten, aber ich bin sehr verwirrt von der neuen --map -durch System. Insbesondere bin ich nicht sicher, wie man --cpus-pro-proc N. ersetzt.Wie ersetzt man --cpus-pro-proc mit --map-by in OpenMPI
Mehrere Web site haben vorgeschlagen, --map-by node zu verwenden: pe = N, aber, wenn ich dieses versuchte, gibt es mir ein anderes Ergebnis.
Der ursprüngliche Befehl lautet:
mpirun -np 3 --report-bindings --bind-to-core --cpus-per-proc 3 ./test.sh
Welche gibt:
[B/B/B/././././.] [./././././././.] [./././././././.] [./././././././.]
[./././././././.] [B/B/B/././././.] [./././././././.] [./././././././.]
[./././././././.] [./././././././.] [B/B/B/././././.] [./././././././.]
Allerdings, wenn ich den Befehl:
mpirun -np 3 --report-bindings --bind-to core --map-by node:pe=3 ./test.sh
Der Ausgang ist:
[B/B/B/././././.] [./././././././.] [./././././././.] [./././././././.]
[./././B/B/B/./.] [./././././././.] [./././././././.] [./././././././.]
[././././././B/B] [B/././././././.] [./././././././.] [./././././././.]
Könnte jemand bitte erklären, wie man die Option --map-by verwendet?
Was ist Ihr Original öffnen MPI-Version? Die Kombination von --bind-to-core und -cpus-pro-proc sollte eigentlich zur zweiten Bindungszuordnung führen, wie es hier gezeigt wird, außer der MCA-Parameter "rmaps_base_schedule_policy" wurde in beiden Fällen auf "socket" gesetzt Umgebung oder in der System/Benutzer-Konfigurationsdatei (oder es gibt eine zusätzliche Option --bysocket) –
Die ursprüngliche Version war openmpi-1.4.4. Ich weiß nichts über die Konfiguration. Ich werde das untersuchen. –