your mpirun more make hostfile for fewer available application mpi openmpi hpc

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''"