Pour exécuter plusieurs commandes srun
dans la même réservation sbatch
avec SLURM, vous pouvez suivre les étapes suivantes :
#!/bin/bash #SBATCH -J multi_srun #SBATCH -N 1 #SBATCH -n 36 #SBATCH --cpus-per-task 1 #SBATCH --threads-per-core=1 srun --exact -n 18 ./executable & srun --exact -n 18 ./executable & wait
Le script exécutera ensuite les commandes srun
spécifiées en parallèle, chacune lançant "executable"
avec 18 tâches MPI.
Explication des commandes:
- Le "&" à la fin de chaque commande `srun` permet de les exécuter en arrière-plan, ce qui permet de passer à la commande suivante sans attendre la fin de l'exécution.
- l'option "--exact" suivi des resources demandes par chaque srun son nécessaires.
- Le "wait" après tous les srun est aussi obligatoire pour que le script attends tous les jobs en arrière-plan.