Bonjour,
J'ai une question concernant les usages srun et sbatch sur le cluster IFB.
Dans la doc (Process a small analysis (a FastQC) using SLURM) comme dans le cours ebaii 2020, vous proposez des sbatch avec, pour lancer les commandes, des srun.
Or, naïvement, je n'aurai pas mis de srun dans un fichier sbacth.
J'ai testé ça (ie. sans les srun en amont) et j'y ai vu 2 avantages:
- traitement accéléré
- il devient possible de faire des cd qui fonctionnent pour l'ensemble du sbatch
Mais vu les docs et vos enseignements, je doute que supprimer les srun soit une solution correcte et ... j'aurais souhaité une explication de pourquoi "c'est mal !" ?
Merci d'avance,
Claire.
Bonjour les deux commandes "srun" ou "sbatch" permettent de soumettre un job sur le cluster mais il faut bien distinguer les deux:
- srun permet lancer un job en mode intéractif (je lance une commande qui s'exécute sur le cluster et il me retourne le résultat à l'écran de mon terminal). Exemple : srun hostname
- sbatch permet de lancer un job en mode batch (un fichier de script est nécessaire; le résultat est forcément dans un fichier). Exemple : sbatch monscript.sh
A vous de choisir mais en général on utilise le "srun" pour des tests ou pour débuter puis on utilise le "sbatch"à partir du moment où on maitrise le script.
Quand vous êtes dans un script "sbatch" qui tourne sur le cluster, rien ne vous empeche de lancer un autre "sbatch" à l'intérieur. Cela permet de soumettre un autre job bien que je ne vois pas trop l'intérêt.
Peut être dans un cas bien particulier ?
(Je me rend compte que j'avais préparé cette réponse mais jamais cliqué sur le gros bouton bleu)
Les srun
dans les sbatch
permette de :
- suivre avec
sacct
d'où en est ton job si tu as plusieurs étapes
- connaître les consommations mémoires par étapes
Mais non, ça n'est pas mal !
Je suis quand même étonné par tes 2 avantages
Merci pour les réponses !
Ne soit pas trop étonné : i) il est tout à fait possible que je n'ai pas réussi du 1er coup avec les cd (et j'ai cru que la suppression des srun avait réglé le problème, mais j'ai probablement modifié le cd en même temps) ii) la répidité, c'était juste une "impression", ie. je n'ai pas été voir les temps calculs pour comparer ... or un différentiel de charge du cluster peut tout à fait expliquer cette impression (mais je n'utilise pas assez le cluster pour avoir ces réflexes).
Merci pour les réponses !
Je ne veux pas faire un sbatch inclus dans un sbatch. Ma question porte sur des srun inclus dans les sbatch alors qu'on peut tout à fait faire les mêmes sbatch mais sans les srun.
Yep, comme expliqué, les srun dans les sbatch ne sont pas obligatoires dans la plupart des cas.
Ils permettent d'avoir plus d'info sur l'avancement du sbatch et sur les ressources consommées par étape.
Si par contre, tu joues avec ntasks
(Slurm advanced guide - IFB Core Cluster Documentation) les srun
deviennent obligatoire
Ok (mais je ne fais pas encore de ntasks). Merci !