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

où 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’attente

  • sinfo : donne l’utilisation des files d’attente

  • idle : noeud libre

  • salloc -n 2 -p cpu : allocation de 2 processeurs sur la file cpu

  • srun hostname : retourne des informations sur les ressources (jobid, …)

  • srun ./job.e : lance le processus job.e sur les ressources réservées

  • exit : libère les ressources