Когда я запускаю программу «Open MPI», она обычно назначает ранги в случайном порядке. Я хочу знать, есть ли способ всегда назначать ранги по порядку?
Так что вместо этого
Hello, World. I am 2 of 3
Hello, World. I am 0 of 3
Hello, World. I am 1 of 3
могу я получить это
Hello, World. I am 0 of 3
Hello, World. I am 1 of 3
Hello, World. I am 2 of 3
РЕДАКТИРОВАТЬ
вот код
PROGRAM hello
INCLUDE 'mpif.h'
INTEGER*4 :: numprocs, rank, ierr
CALL MPI_INIT(ierr)
CALL MPI_COMM_SIZE(MPI_COMM_WORLD, numprocs, ierr)
CALL MPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr)
write(*,*) 'Hello World. I am', rank, 'of', numprocs
CALL MPI_FINALIZE(ierr)
END PROGRAM hello
Я тестировал его на процессоре i5 (4 потока) при запуске
mpirun -np 4 myprog
он работает так, как я хочу, ранги печатаются в порядке 0-3, в противном случае (например, с 3, как показано выше) он просто не будет этого делать (проверено это как 100 раз)