FAQ
Q : Comment exécuter un traitement sur le Cluster OSIRIM ?
R : Vous devez vous connecter en SSH sur la machine "osirim-slurm.irit.fr" (port 22) et transmettre un fichier batch avec la commande "sbatch". Consultez la documentation SLURM pour des informations détaillées.
Q : Mon Job se déroule correctement et mes données sont bien traitées. Pourquoi apparaît-il comme "Failed" dans l'email de fin et la commande sacct ?
R : Une des raisons possibles est la suivante :
Le succès ou l'échec de toute commande shell (commande standard, script, fonction, programme...) est déterminé par son code de retour (exit code) ; zero (0) indique succès et ">0" indique un échec. Dans un script shell (comme le Batch Slurm), l'exit-code du script est déterminé par l'exit-code de sa dernière instruction ou commande exécutée.
Par exemple, si la fin d'un script est la suivante :
# Tests whether /some/file exists or not
if [[ -f '/some/file' ]]; then
echo "=> Do something"
fi
-
Si le fichier existe, la dernière commande est "echo", qui retournera 0/Succès.
-
S'il n'existe pas, la dernière commande exécutée est le test "-f" du fichier qui retourne 1/Echec. Aucune autre commande n'étant évaluée, le script entier retournera 1/Echec.
Solution : Ajouter "exit 0" explicitement dans les cas ou le script "réussit" même si le test ou la commande précédent(e) échoue.
Q : J'ai besoin de lancer un grand nombre de jobs similaires, comment faire ?
R : Le plus simple est de créer un Job Array.
Q : J'ai demandé
R : Avez-vous créé des Job Steps ? Si plus d'une Task est demandée mais
qu'aucun Step n'est explicitement déclaré, l'allocation totale NE
DÉPASSERA PAS 1 Task (
Q : J'essaie de lancer des Job Steps en parallèle mais ils s'exécutent l'un après l'autre !
R : Pour exécuter des Job Steps en parallèle, il faut exécuter la commande srun en "arrière plan" en ajoutant '&' en fin de ligne.
Q : J'essaie de lancer des Job Steps en parallèle mais ils ne sont pas exécutés, le Batch s'arrête immédiatement !
R : Une fois les Job Steps déclarés, il faut impérativement utiliser la commande "wait" pour que le processus parent (le Job) attende la fin de l'exécution des processus enfant (Steps).
Q : Dans mon fichier "output", Slurm m'affiche le Warning: "srun: Warning: can't run 2 processes on 4 nodes, setting nnodes to 2."
R : Lors de l'exécution d'un Job Step avec "srun", le paramètre "-n" (ntasks) doit être supérieur ou égal à "-N" (nodes), sinon Slurm affiche ce warning et réduit -N à -n.