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