soumission de jobs avec dépendances

On peut soumettre des jobs, qui ne partiront qu'après la fin d'exécution d'autres jobs.

Cela peut se faire avec l’aide de l’argument --dependency de la commande sbatch ou srun.
Ci-dessous un exemple ’pédagogique’ :

Soumission du premier Job :

[renon@olympelogin1 ]$ sbatch script_test.cmd
Submitted batch job 312526
[renon@olympelogin1 ]$ squeue -u renon
JOBID PARTITION NAME USER STATE TIME TIME_LIMI QOS NODES NODELIST(REASON)
312526 exclusive script_t renon RUNNING 0:03 10:00 noeud5 2 olympecomp[302,305]

Soumission du deuxième Job avec dépendance :

le mot clés afterok indique que le deuxième job peut démarrer si et seulement si le premier s’est correctement terminé.

[renon@olympelogin1 ]$ sbatch —dependency=afterok:312526 script_test.cmd
Submitted batch job 312527

Le deuxième job 312527 est en attente, statut PENDING :


[renon@olympelogin1 ]$ squeue -u renon
JOBID PARTITION NAME USER STATE TIME TIME_LIMI QOS NODES NODELIST(REASON)
312526 exclusive script_t renon RUNNING 0:17 10:00 noeud5 2 olympecomp[302,305]
312527 exclusive script_t renon PENDING 0:00 10:00 noeud5 2 (Dependency)

Le premier job 312526 s’est correctement terminé, le deuxième job 312527 est d’abord PENDING sans dependency, puis RUNNING :


[renon@olympelogin1 ]$ squeue -u renon
JOBID PARTITION NAME USER STATE TIME TIME_LIMI QOS NODES NODELIST(REASON)
312527 exclusive script_t renon RUNNING 0:30 10:00 noeud5 2 olympecomp[302,305]

Pour en savoir plus:

Voir également le manuel de la commande sbatch :

man sbatch

Pour une utilisation en production ce genre de besoin (soumission de job avec dépendance) peut être automatisé.

Voir aussi

Script SLURM pour une réservation de MOINS de 18 cœurs

Réservation des ressources. Deux exemples: Code MPI avec 5 tâches et 10GB de mémoire;  Code Multithreaded avec 5 threads et 10GB de mémoire.

Script SLURM pour une réservation de PLUS de 18 cœurs

Écrire un script pour un code utilisant plus de 18 cœurs