mpirun - pas assez de slots disponibles

généralement quand j'utilise mpirun, je peux le "surcharger", en utilisant plus de processeurs qu'il n'y en a sur mon ordinateur. Par exemple, sur mon mac à quatre cœurs, je peux exécuter mpirun -np 29 python -c "print 'hey'" pas de problème. Je suis sur une autre machine maintenant, qui lance l'erreur suivante:

$ 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.
--------------------------------------------------------------------------

pourquoi" overclocking " mpirun ne travaille-t-il pas ici? Y a-t-il un moyen de surmonter ce message d'erreur et d'exécuter avec succès plus de processeurs que ce qui est disponible?

11
demandé sur kilojoules 2016-02-29 19:32:20

2 réponses

https://www.open-mpi.org/faq/?category=running#oversubscribing Vous pouvez sursouscrire votre noeud en utilisant un fichier hostfile. Avant de procéder, soyez prudent que de cette façon vous pouvez gravement dégrader la performance du noeud. En outre, si le système que vous utilisez pour exécuter l'application utilise un système de file d'attente, cela peut ne pas être valide.

créer D'abord un fichier (nommé fichier-hôte) contenant

localhost slots=25

le simple exécuter votre application comme

mpirun --hostfile hostfile -np 25 python -c "print 'hey'"
8
répondu Harald 2016-02-29 17:30:36

Apparemment, on peut obtenir une sur-Inscription en utilisant l'option" -- oversubscribe " avec mpirun - a fait l'affaire pour moi avec running torque / maui

18
répondu dwaylooper 2016-10-14 13:42:57