Lancer et suivre un calcul

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

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

Voir aussi

Se connecter

Les espaces de stockage et jeux de données

Environnements logiciels

Utiliser des conteneurs Apptainer sur KAIROS

Utilisation des conteneurs apptainer sur Kairos