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é.

Espace utilisateurs/Doc technique Olympe/Lancer un calcul

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