Soumettre une tâche
Les jobs se lancent soit en différé (batch), soit en interactif. Dans les 2 cas il faut réserver des ressources sur une file d’attente. En aucun cas, on ne lance un job directement, car alors il tourne sur les machines frontales et non sur les machines de calcul. Les files d’attente ont été créées pour avoir des ensembles de machines homogènes :
cpu
gpu-intel
gpu-amd
Vous pouvez trouver la liste complète des commandes SLURM à l’adresse https://slurm.schedmd.com/pdfs/summary.pdf
Par défaut la durée d’un job est de 12h.
Soumettre une tâche en batch
sbatch script.joboù script.job est le fichier qui contient et la réservation des ressources et le lancement de votre job. À sa création, votre compte comporte le répertoire example qui contient 3 exemples de script de soumission :
generic.job
parallel_on_home.job
parallel_on_scratch.job
La différence essentielle concerne le disque de stockage de vos données lors de l’exécution de votre job. Vous pouvez soit travailler localement sur le scratch de chaque noeud (exemple parallel_on_scratch.job) soit dans votre home (exemple parallel_on_home.job).
Avertissement
Contrairement à artemis il n’y a pas de scratch global visiblement de tous les noeuds. Ici chaque noeud a son propre espace scratch.
Soumettre une tâche en interactif
Les instructions suivantes permettent de connaître l’état de la machine (ce qui est utile pour connaître les ressources disponibles), d’allouer des ressources, de lancer un processus et enfin de libérer les ressources.
squeue
: liste les jobs par file d’attentesinfo
: donne l’utilisation des files d’attenteidle
: noeud libresalloc -n 2 -p cpu
: allocation de 2 processeurs sur la file cpusrun hostname
: retourne des informations sur les ressources (jobid, …)srun ./job.e
: lance le processus job.e sur les ressources réservéesexit
: libère les ressources