more - mpirun-no hay suficientes slots disponibles
mpirun command (2)
Generalmente cuando uso mpirun, puedo "sobrecargarlo", usando más procesadores de los que actualmente hay en mi computadora. Por ejemplo, en mi mac de cuatro núcleos, puedo ejecutar mpirun -np 29 python -c "print ''hey''"
no hay problema. Estoy en otra máquina ahora, que está lanzando el siguiente error:
$ 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.
--------------------------------------------------------------------------
¿Por qué el mpirun de "overclocking" no funciona aquí? ¿Hay alguna manera de superar este mensaje de error y ejecutar con éxito más procesadores que los disponibles?
Aparentemente, la suscripción excesiva se puede lograr usando la opción "--suscribirse" con mpirun - hice el truco para mí con la ejecución de par / maui
De acuerdo con open-mpi.org/faq/?category=running#oversubscribing , puede sobresuscribirse en su nodo mediante un archivo de host. Antes de continuar, tenga cuidado de que de esta manera pueda degradar gravemente el rendimiento del nodo. Además, si el sistema que utiliza para ejecutar la aplicación está utilizando un sistema de cola, es posible que esto no sea válido.
Primero crea un archivo host (llamado hostfile) que contiene
localhost slots=25
Simplemente ejecuta tu aplicación como
mpirun --hostfile hostfile -np 25 python -c "print ''hey''"