Lancer plusieurs srun sur la même reservation sbatch

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.

 

Voir aussi

FAQ

Questions fréquentes et messages d'erreurs

L’outil placement

Contrôler le placement d’un job hybride Il est particulièrement important de contrôler le placement de ses threads dans le cas d’un job hybride (openmp + mpi).