mpirun-недостаточно доступных слотов

обычно, когда я использую mpirun, я могу "перегрузить" его, используя больше процессоров, чем есть на моем компьютере. Например, на моем четырехъядерном mac я могу запустить mpirun -np 29 python -c "print 'hey'" нет проблем. Теперь я на другой машине, которая выдает следующую ошибку:

$ mpirun -np 25 python -c "print 'hey'"
--------------------------------------------------------------------------
There are not enough slots available in the system to satisfy the 25 slots 
that were requested by the application:
  python

Either request fewer slots for your application, or make more slots available
for use.
--------------------------------------------------------------------------

почему здесь не работает" разгон " mpirun? Есть ли способ преодолеть это сообщение об ошибке и успешно работать с большим количеством процессоров, чем доступно?

2 ответов


согласно https://www.open-mpi.org/faq/?category=running#oversubscribing Вы можете переписать свой узел с помощью hostfile. Прежде чем продолжить, будьте осторожны, что таким образом можно серьезно ухудшить производительность узла. Кроме того, если система, используемая для запуска приложения, использует систему очередей, это может быть недопустимо.

сначала создайте файл hostfile (с именем hostfile), содержащий

localhost slots=25

просто запустите приложение как

mpirun --hostfile hostfile -np 25 python -c "print 'hey'"

по-видимому, превышение подписки может быть достигнуто с помощью опции "--oversubscribe " с mpirun - сделал трюк для меня с крутящим моментом / maui