Nous avons une petite grille de calcul sur laquelle vous pouvez lancer des tâches. Cette grille utilise slurm, qui est le même système que celui utilisé à l'alliance de recherche numérique du Canada (anciennement calcul Canada). Cependant, nos ressources sont beaucoup plus limitées et la configuration du système est différente. Par contre, l'utilisation est très similaire et la majorité des informations sur la page de soumission de tâches du wiki est valide. https://docs.computecanada.ca/wiki/Running_jobs/fr
Voici une description sommaire des machines qui sont disponibles dans la grille de calcul.
Ces machines sont séparées en 2 partition:
Aucune pour le moment.
Pour soumettre une tâche, vérifiez si le programme sbatch est disponible. Si oui, vous pouvez soumettre les tâches à partir de votre poste de travail. Sinon, contactez nous.
Cette commande permet de voir l'état de la grille de calcul et les durées maximales des partitions. On peut voir par exemple s'il y a des machines en panne, s'il y a des machines libres ou si des machines ont été suspendue du système pour entretien.
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST optimum* up 2-00:00:00 1 mix optimum01 optimum* up 2-00:00:00 9 idle optimum[02-10] optimumlong up 7-00:00:00 1 idle optimum11
Dans cet exemple, on voit que toutes les machines sont disponibles et 1 seule a des tâches.
Cette commande est utilisée pour voir les tâches qui sont dans le système. Par défaut, si vous ne donnez aucune option, vous verrez les tâches de tout le monde. Vous pouvez utiliser l'option `-u` pour spécifier votre nom d'utilisateur.Vous pouvez utiliser la variable `SQUEUE_FORMAT` pour changer l'affichage par défaut de la commande. Par exemple à l'alliance ils utilisent:
export SQUEUE_FORMAT="%.15i %.8u %.12a %.14j %.3t %.10L %.5D %.4C %.10b %.7m %N (%r)"
Commande pour soumettre une tâche à la grille de calcul. On peut mettre les paramètre dans le script de soumission ou les passer sur la ligne de commande ou faire une combinaison des 2. Voici un exemple de script:
#!/bin/bash #SBATCH --cpus-per-task=1 #SBATCH --mem=16G #SBATCH --time=00:10:00 #SBATCH --output=/dev/null ./ubsp -m 3 -n 250 | ./gencol sleep 60
Les paramètres que vous choisissez seront utilisés pour voir quelles ressources sont disponibles pour lancer la tâche. Bien qu'il n'y ait pas de limite en tant que tel, plus vous demandez, plus vous allez attendre parce qu'il sera plus difficile d'obetnir ces ressources. De plus, le système de facturation prendra en compte les ressources réservées et appliquera un facteur de correction pour la priorité pour les tâches qui sont encore en attente.
Programme pour annuler une ou plusieurs tâches. Exemple:
scancel 1234 scancel -u usager
Cette commande permet d'avoir plus d'information sur une tâche spécifique. Les champs disponibles peut être affichés avec l'option `-e` et ensuite utilisés soit avec l'option `--format`.
Le rrogramme permet aussi d'avoir des informations sur des tâches terminées si on connaît le numéro et que l'information est encore disponible dans la base de données.
Pour voir de plus anciennes tâches, on peut spécifier une date de départ
sacct --starttime 2022-04-17 --format=Account,User,JobID,Start,End,AllocCPUS,Elapsed,AllocTRES%30,CPUTime,AveRSS,MaxRSS,MaxRSSTask,MaxRSSNode,NodeList,ExitCode,State%20
La variable d'environnement `SACCT_FORMAT` permet de définir un format si on souhaite pas le spécifier à chaque exécution du programme. L'exemple suivant est le format utilisé à l'alliance.
export SACCT_FORMAT=Account,User,JobID,Start,End,AllocCPUS,Elapsed,AllocTRES%30,CPUTime,AveRSS,MaxRSS,MaxRSSTask,MaxRSSNode,NodeList,ExitCode,State%20
similaire à sacct mais pour les tâches qui sont présentement en exécution. Cette commande ne fonctionne que sur les tâches que vous avez lancé.
Cette grille est discontinuée. Les informations sont seulement rendues disponibles comme référence.
Caractéristiques techniques :
Caractéristiques techniques :