Plusieurs tâches dans un même job

      Commentaires fermés sur Plusieurs tâches dans un même job

Vous souhaitez lancer plusieurs commandes en parallèles dans un même job.

  • Pour exécuter toutes les commandes en parallèles sans attendre la fin de la précédente, ajouter un & à la fin de la commande
  • Cependant, dans un job, à peine lancé, le job aura terminé avant que les commandes ne puissent s’exécuter.
  • Pour résoudre ce problème, ajouter la commande wait à la fin de votre script (N’ajouter surtout pas de & à la fin)
  • Ajouter #SBATCH –ntasks-per-node=N afin que les commandes/tâches ne s’exécutent pas sur un même coeur.
  • Exemple de script
#!/bin/sh
#SBATCH --job-name=job
#SBATCH –ntasks-per-node=N # A number between 1 and the number of cores of the node. N should be 
equals to the number of tasks.
...
 
./my_cmd1&
./my_cmd2&
./my_cmd3&
./my_cmd4&
...
./my_cmdN&
wait