Description des partitions
Chaque partition est conçue pour un type de charge de travail spécifique.
Vous devez toujours spécifier la partition dans votre script avec :
#SBATCH --partition=<nom_partition>
Partitions CPU
Nome de partition | Nombre de nœuds | Jobs max | Durée max H |
noeud | 1 | 3 | 150 |
noeud2 | 2 | 2 | 110 |
noeud4 | 4 | 2 | 75 |
noeud8 | 8 | 2 | 36 |
noeud10 | 10 | 2 | 24 |
noeud12 | 12 | 2 | 18 |
shared-cpu | cpu: 96, mem: 384G | 4 | 200 |
micro-cpu | cpu: 16, mem: 64G | 3 | 250 |
Partitions GPU
Nome de partition | Nombre de ressources Max. | Jobs max | Durée max H |
gpu | nœuds: 2, gpus: 8, cpus: 288 | 2 | 36 |
shared-gpu | gpus: 2, cpus: 144, mem:240G | 4 | 60 |
Nœuds spéciaux
Nom de partition | Nombre de nœuds | Jobs max | Durée max H |
mem | cpu: 192, mem:1510G | 1 | 100 |
visu | cpu: 96, mem: 753G | 1 | 04 |
- Le mode interactif et le mode batch
- Les outils
- Améliorer les performances
- Profiler et Debugger
- Accounting
Le mode interactif et le mode batch
Pour vos calculs, il est fortement conseillé d'utiliser le GPFS, en particulier avec les codes ayant des I/O. Vous devriez donc lancer vos calculs depuis $WORK ou $SCRATCH. Pour plus d'informations sur chaque espace, consultez la documentation. espaces de stockage
x86
Pour le mode interactif le nœude frontal :
salloc -p nom_partition_CPU -n num_tasks -t temps_max
ssh kairoscompX
Si num_tasks n’est pas défini, la valeur maximale sera utilisée, et il en va de même pour le temps (wall_time).
Pour le mode batch, votre script doit ressembler à ceci.
Le nombre de vos tâches doit être un multiple de 32 (évitez 36 d'Olympe).
Nœudes Exclusives CPU
#!/usr/bin/bash
#SBATCH --job-name=mon_projet # Nom du job (-J JobName)
#SBATCH --nodes=2 # Nombre de nœuds (-N 2)
#SBATCH --ntasks=384 # Nombre de tâches (-n 384)
#SBATCH --ntasks-per-node=192 # Tâches par nœude
#SBATCH --cpus-per-task=1 # Nombre de cœurs CPU par tâche, threads
#SBATCH --time=01:00:00 # Limite de temps h:m:s (-t 01:00:00)
#SBATCH --partition=noeud2 # Nom de la partition CPU (-p noeud2)
module purge
moduel load gcc/14.1
srun -n ${SLURM_NTASKS} ./binaire
puis être exécuté avec : sbatch nom_du_script
Shared CPU
Pour un shared CPU (supérieur ou égal à 32 cpu) , évitez à tout prix d'utiliser #SBATCH --exclusive.
De plus, il est obligatoire d'ajouter ce qui suit à votre script :
#!/usr/bin/bash
#SBATCH --job-name=mon_projet # Nom du job (-J JobName)
#SBATCH --nodes=1 # Nombre de nœuds (-N 1)
#SBATCH --ntasks=64 # Nombre de tâches (-n 32)
#SBATCH --mem=384000M # règle de 4 G par core
#SBATCH --ntasks-per-node=64 # Tâches par nœude
#SBATCH --cpus-per-task=1 # Nombre de cœurs CPU par tâche, threads
#SBATCH --time=01:00:00
#SBATCH --partition=shared-cpu
#SBATCH --sockets-per-node=1
#SBATCH --cores-per-socket=96
MicroShared CPU
Pour un Microshared CPU (inférieur ou égal à 16 cpu), évitez à tout prix d'utiliser #SBATCH --exclusive.
De plus, il est obligatoire d'ajouter ce qui suit à votre script :
#!/usr/bin/bash
#SBATCH --job-name=mon_projet # Nom du job (-J JobName)
#SBATCH --nodes=1 # Nombre de nœuds (-N 1)
#SBATCH --ntasks=16 # Nombre de tâches (-n 16)
#SBATCH --mem=64000M # règle de 4 G par core
#SBATCH --ntasks-per-node=16 # Tâches par nœude
#SBATCH --cpus-per-task=1 # Nombre de cœurs CPU par tâche, threads
#SBATCH --time=01:00:00
#SBATCH --partition=micro-cpu
ARM
Pour le mode interactif
Pour le mode batch, votre script doit ressembler à ceci.
Pensez a ajouter Associer des processus aux GPUs (gbind)
Shared GPU (2 gpu max)
#!/usr/bin/bash
#SBATCH --job-name=mon_projet # Nom du job (-J JobName)
#SBATCH --ntasks=1 # Nombre de tâches (-n 2)
#SBATCH --cpus-per-task=1 # Nombre de cœurs CPU par tâche, threads
#SBATCH --time=01:00:00 # Limite de temps h:m:s (-t 01:00:00)
#SBATCH --partition=shared-gpu # Nom de la partition CPU (-p shared-gpu)
#SBATCH --gres=gpu:1 # Demander 1 GPU
module purge
moduel load gcc/14.1
srun -n ${SLURM_NTASKS} gbind ./binaire
puis être exécuté avec : sbatch nom_du_script depuis le frontal
Nœudes Exclusives GPU (4 gpu max)
#!/usr/bin/bash
#SBATCH --job-name=mon_projet # Nom du job (-J JobName)
#SBATCH --ntasks=4 # Nombre de tâches (-n 4 une tache par gpu)
#SBATCH --cpus-per-task=1 # Nombre de cœurs CPU par tâche, threads
#SBATCH --time=01:00:00 # Limite de temps h:m:s (-t 01:00:00)
#SBATCH --partition=gpu # Nom de la partition CPU (-p gpu)
#SBATCH --gres=gpu:4 # Demander 4 GPU
module purge
moduel load gcc/14.1
srun -n ${SLURM_NTASKS} gbind ./binaire
puis être exécuté avec : sbatch nom_du_script depuis le frontal
Les outils
Améliorer les performances
Profiler et Debugger
Accounting
Les algorithmes de calcul de la consommation suivant les ressources que vous utilisez.
L'accounting ci-dessous est à titre expérimental et susceptible d'évoluer.
Pour rappel Kairos est un Cluster qui interconnecte des nœuds de calcul. Il est structuré en une partition équipé de processeurs x86 et une partition Grace-Hopper équipée de processeurs ARM (Grace) et de carte nvidia H200 (Hopper) (module Grace-Hopper).
Chaque nœud CPU x86 dispose de 192 cœurs et 768 Go de RAM. Chaque noeud GPU dispose de 288 coeurs ARM, 4 cartes nvidia H200 et 864 Go de mémoire unifiée (4 modules Grace-Hopper).
Partition CPU - x86
- Accounting pour la réservation de 96 cœurs ou moins
Pour une réservation de moins de 96 cœurs, le nœud est partagé entre plusieurs utilisateurs.
Tout job utilisant la partition shared-cpu ou micro-cpu est comptabilisé de la manière suivante :
(nombre de cœurs réservés) * (temps de réservation effectivement utilisé) |
- Accounting pour la réservation de plus de 96 cœurs
Pour une réservation de plus de 96 cœurs, les nœuds sont attribués dans leur intégralité (i.e les 192 cœurs de chaque nœuds réservés).
Tout job utilisant la partition noeud*, [*->12] est comptabilisé de la manière suivante :
(nombre de nœuds réservés) * (192 cœurs) * (temps de réservation effectivement utilisé) |
Partition GPU - ARM (Grace-Hopper)
- Accounting pour la réservation de 2 GPU ou moins (2 compris)
Pour une réservation de moins de 2 GPU ou moins, le nœud est partagé entre plusieurs utilisateurs.
Tout job utilisant la partition shared-gpu est comptabilisé de la manière suivante :
(nombre de GPUs)* (temps de réservation effectivement utilisé) |
- Accounting pour la réservation de plus de GPU
Pour une réservation de plus de 2 cartes accélératrices GPU le ou les nœuds sont attribués dans leur intégralité.
Tout job utilisant la partition gpu est comptabilisées de la manière suivante :
(nombre de nœuds réservés) * (4 GPUs) * (temps de réservation effectivement utilisé) |
Afficher ma consommation sur Kairos
Pour afficher les informations sur votre consommation, 4 commandes sont à votre disposition :
- maconso : Affiche la consommation de son projet
- maconso_detail : Affiche la consommation des membres de son projet
- maconso_job : Affiche la consommation de ses 5 derniers jobs
- maconso_jobid jobid [...] : Affiche la consommation des jobs listés s’ils appartiennent à son projet
⚠️ Toutes les commandes présentées dans ce document affichent les informations relatives à la consommation de votre projet jusqu’à la date de la veille au soir à 23H59
maconso
Cette commande affiche la consommation de votre projet en date de la veille à 23H59:
Un exemple pris le 15 Septembre 2026:
Consommation de votre groupe jusqu'au 14-09-2026 23H59 :
+---------+------------+-------------------------------+-----------------+
| | Soumission | | Consommation |
| Nom | de job | Consommation en cours (HH:MM) | maximum |
| groupe | | | (HH:MM) |
| +------+-----+----------------+--------------+--------+--------+
| | cpu | gpu | cpu | gpu | cpu | gpu |
+=========+======+=====+================+==============+========+========+
| support | Oui | Oui | 39:43 | 8:38 | 10000 | 500 |
+---------+------+-----+----------------+--------------+--------+--------+
Légende :
- Soumission de job : Indique si le projet peut soumettre des calculs CPU et/ou GPU
- Consommation en cours (HH:MM) : Heures de calcul CPU et GPU consommées par le projet
- Consommation maximum : Heures de calcul CPU et GPU allouées au projet
⚠️ Si votre projet a dépassé le nombre d’heures de calcul allouées au projet, alors vous ne pourrez plus soumettre de nouveaux jobs. Dans ce cas, le texte suivant apparaîtra en dessous des informations de consommation :
Consommation de ressources trop importante.
La consommation de votre groupe a depasse la limite autorisee.
Vous ne pourrez plus soumettre de requete.
maconso_detail
Cette commande affiche la consommation pour chaque utilisateur de son projet en date de la veille à 23H59.
Un exemple pris le 15 Septembre 2026:
Consommation de votre groupe jusqu'au 14-09-2026 23H59 :
+-------------+--------------+-------------------------------+
| | Nom | Consommation en cours (HH:MM) |
| Identifiant | Utitlisateur +----------------+--------------+
| | | cpu | gpu |
+=============+==============+================+==============+
| dbhlkrbhpn | dbhlkrbhpn | 0:00 | 7:53 |
+-------------+--------------+----------------+--------------+
| inviteae | inviteae | 0:00 | 0:00 |
+-------------+--------------+----------------+--------------+
| invitelc | invitelc | 0:00 | 0:04 |
+-------------+--------------+----------------+--------------+
| invitenr | invitenr | 39:43 | 0:07 |
+-------------+--------------+----------------+--------------+
| invitemc | invitemc | 0:00 | 0:34 |
+-------------+--------------+----------------+--------------+
| invitems | invitems | 0:00 | 0:00 |
+=============+==============+================+==============+
| Total | 39:43 | 8:38 |
+--------------+----------------+--------------+
Légende :
- Consommation en cours (HH:MM) : Heures de calcul CPU et GPU consommées par l’utilisateur.
- Total consommation en cours (HH:MM) : Total des heures de calcul CPU et GPU consommées par l’ensemble des utilisateurs affichées
maconso_job
Cette commande affiche la consommation des derniers jobs (5 par défaut) en date de la veille à 23H59:
Consommation des 5 derniers jobs pour l'utilisateur 'invitemc' jusqu'au 14-09-2026 23H59 :
+-------------+-------------+--------+-------------------+
| | | | Consommation |
| Identifiant | Date de fin | Job ID | en cours (HH:MM) |
| | | +---------+---------+
| | | | cpu | gpu |
+=============+=============+========+=========+=========+
| invitemc | 2026-09-11 | 60609 | 0:00 | 0:26 |
+ + +--------+---------+---------+
| | | 60584 | 0:00 | 0:02 |
+ + +--------+---------+---------+
| | | 60580 | 0:00 | 0:02 |
+ + +--------+---------+---------+
| | | 60572 | 0:00 | 0:04 |
+=============+=============+========+=========+=========+
| Total | 0:00 | 0:34 |
+--------+---------+---------+
Légende :
- Consommation en cours (HH:MM) : Heures de calcul CPU et GPU, consommées par le job
- Total consommation en cours (HH:MM) : Total des heures de calcul CPU et GPU consommées par l’ensemble des jobs affichées
Pour afficher la consommation des 10 derniers jobs:
maconso_job 10
maconso_jobid
Cette commande affiche la consommation des jobs listés en date de la veille à 23H59 (s’ils appartiennent à votre projet)
maconso_jobid 60584,60572
Résultat :
Consommation des jobs 60584, 60572 jusqu'au 14-09-2026 23H59 :
+-------------+-------------+--------+-------------------+
| | | | Consommation |
| Identifiant | Date de fin | Job ID | en cours (HH:MM) |
| | | +---------+---------+
| | | | cpu | gpu |
+=============+=============+========+=========+=========+
| invitemc | 2026-09-11 | 60584 | 0:00 | 0:02 |
+ + +--------+---------+---------+
| | | 60572 | 0:00 | 0:04 |
+=============+=============+========+=========+=========+
| Total | 0:00 | 0:06 |
+--------+---------+---------+
Légende :
- Consommation en cours (HH:MM) : Heures de calcul CPU et GPU, consommées par le job
- Total consommation en cours (HH:MM) : Total des heures de calcul CPU et GPU consommées par l’ensemble des jobs affichées