Aller au contenu principal

Partitions GPU

Les partitions GPU disponibles

Tous les projets DARI (allocations dynamiques (AD), allocations régulières (AR), ...) ayant des heures GPU ont à leur disposition des partitions Slurm définies sur Jean Zay.

Partition V100 : gpu_p13 (par défaut)

Les projets ayant des heures GPU V100 ont accès par défaut à une partition permettant d'utiliser tous types de nœuds accélérés quadri-GPU à 16Go ou 32Go de mémoire.

Par défaut, le temps d'exécution est de 10 minutes et il ne peut dépasser 100 heures (soit --time=HH:MM:SS ≤ 100:00:00, c.f. les QoS pour V100 ci-dessous).

Cette partition comprenant à la fois des GPU Nvidia V100 ayant 16 Go de mémoire et des GPU Nvidia V100 ayant 32 Go de mémoire, si vous désirez vous limiter à un seul type de GPU, vous devez le spécifier en ajoutant dans vos scripts l'une des directives Slurm suivantes :

  • #SBATCH -C v100-16g pour sélectionner des nœuds ayant des GPU à 16 Go de mémoire (i.e. ''gpu_p3'')
  • #SBATCH -C v100-32g pour sélectionner des nœuds ayant des GPU à 32 Go de mémoire (i.e. ''gpu_p1'')
Remarque

Si votre travail peut s'exécuter indifféremment sur des GPU ayant 16 Go ou 32 Go de mémoire, il est préférable de ne pas cibler spécifiquement un type de nœud donné (i.e. ne pas spécifier d'option -C v100-16g ou -C v100-32g) afin de limiter le temps d'attente en queue de vos travaux.

Partition V100 : gpu_p2

La partition gpu_p2 est accessible à tous les utilisateurs et utilisatrices disposant d'heures GPU V100.

Elle permet de lancer des calculs sur les nœuds accélérés octo-GPU de Jean Zay. Ces nœuds sont équipés de GPU Nvidia V100 avec 32 Go de mémoire.

Par défaut, le temps d'exécution est de 10 minutes et il ne peut dépasser 100 heures (soit --time=HH:MM:SS ≤ 100:00:00, cf. les QoS pour V100 ci-dessous).

Cette partition comporte des nœuds ayant 360 Go de mémoire RAM et d'autres en ayant 720 Go. Suivant la quantité de mémoire requise par votre code, vous pouvez ciblez l'une des deux sous-partitions suivantes :

  • La sous-partition gpu_p2s donne accès aux nœuds octo-GPU V100 à 360 Go de mémoire.
  • La sous-partition gpu_p2l donne accès aux nœuds octo-GPU V100 à 720 Go de mémoire.
Remarque

Si votre travail n'a pas besoin de plus de 360 Go de mémoire, il est préférable de ne pas cibler spécifiquement un type de nœud donné en spécifiant l'option --partition=gpu_p2 afin de limiter le temps d'attente en queue de vos travaux.

Partition A100 : gpu_p5

La partition gpu_p5 est accessible à tous les utilisateurs et utilisatrices ayant obtenu des heures GPU A100. Elle permet de lancer des calculs sur les 52 nœuds accélérés octo-GPU de Jean Zay qui sont équipés de GPU Nvidia A100 reliés par une interconnexion NVLink SXM4 et ayant 80 Go de mémoire par GPU.

Par défaut, le temps d'exécution est de 10 minutes et il ne peut dépasser 20 heures (soit --time=HH:MM:SS ≤ 20:00:00, c.f. les QoS pour A100 ci-dessous).

Pour utiliser cette partition, vous devez spécifier la directive Slurm #SBATCH -C a100 dans vos scripts.

Attention

Ces nœuds sont équipés de processeurs AMD Milan EPYC 7543 (64 cœurs par nœud) contrairement aux autres nœuds qui comportent des processeurs Intel. Il est donc nécessaire de charger le pré-module : module load arch/a100 avant tout autre module pour avoir accès aux modules compatibles et de recompiler vos codes spécifiquement pour cette partition.

Partition H100 : gpu_p6

La partition gpu_p6 est accessible à tous les utilisateurs et utilisatrices ayant obtenu des heures GPU H100. Elle permet de lancer des calculs sur les 364 nœuds accélérés quadri-GPU de Jean Zay qui sont équipés de GPU Nvidia H100 reliés par une interconnexion NVLink SXM5 et ayant 80 Go de mémoire par GPU.

Par défaut, le temps d'exécution est de 10 minutes et il ne peut dépasser 100 heures (soit --time=HH:MM:SS ≤ 100:00:00, c.f. les QoS pour H100 ci-dessous).

Pour utiliser cette partition, vous devez spécifier la directive Slurm #SBATCH -C h100 dans vos scripts.

Attention

Ces nœuds ayant une architecture matérielle spécifique, il est nécessaire de charger le pré-module : module load arch/h100 avant tout autre module pour avoir accès aux modules compatibles et de recompiler vos codes.

Récapitulatif

CPUGPUOption Slurm correspondante
40 CPU + RAM 160 Go utiles4 GPU V100 + RAM 16 ou 32 Gopar défaut (sans option)
40 CPU + RAM 160 Go utiles4 GPU V100 + RAM 16 Go-C v100-16g
40 CPU + RAM 160 Go utiles4 GPU V100 + RAM 32 Go-C v100-32g
24 CPU + RAM 360 ou 720 Go utiles8 GPU V100 + RAM 32 Go--partition=gpu_p2
24 CPU + RAM 360 Go utiles8 GPU V100 + RAM 32 Go--partition=gpu_p2s
24 CPU + RAM 720 Go utiles8 GPU V100 + RAM 32 Go--partition=gpu_p2l
64 CPU + RAM 468 Go utiles8 GPU A100 + RAM 80 Go-C a100
96 CPU + RAM 468 Go utiles4 GPU H100 + RAM 80 Go-C h100
Attention

Les limites de temps par défaut des partitions sont délibérément basses. Pour des exécutions plus longues, vous devez spécifier une limite de temps d'exécution, qui doit rester inférieure au maximum autorisé pour la partition et la Qos utilisées (voir ci-dessous). Vous devez alors utiliser :

  • soit la directive Slurm #SBATCH --time=HH:MM:SS dans votre travail,
  • soit l'option --time=HH:MM:SS des commandes sbatch, salloc ou srun.

La partition par défaut n'a pas besoin d'être spécifiée pour être utilisée par les travaux demandant des GPU. Par contre, toutes les autres doivent être spécifiées explicitement pour être utilisées. Par exemple, pour la partition prepost, vous pouvez utiliser :

  • soit la directive Slurm #SBATCH --partition=prepost dans votre travail,
  • soit l'option --partition=prepost des commandes sbatch, salloc ou srun.
Attention

Tout travail demandant plus d'un nœud tourne en mode exclusif : les nœuds ne sont pas partagés. En particulier, cela implique que les heures facturées sont calculées sur la base de la totalité des nœuds réquisitionnés, y compris ceux qui ne sont que partiellement exploités.

Par exemple, sur la partition GPU par défaut, la réservation de 5 GPU (soit 1 nœud quadri-GPU + 1 GPU) entraîne la facturation de 8 GPU (soit 2 nœuds quadri-GPU). Par contre, la totalité de la mémoire des nœuds réservés est alors disponible (de l'ordre de 160 Go utiles par nœud GPU V100).

Remarque

Les partitions de service archive, compil, prepost et visu dont l'usage n'est pas facturé sont accessibles même si vous n'avez pas d'heures CPU.

Les QoS GPU disponibles

Pour chaque travail soumis sur une partition de calcul (donc autre que archive, compil, prepost et visu), vous pouvez spécifier une QoS (Quality of Service) qui va déterminer les limites et la priorité de votre travail.

Pour spécifier une QoS différente de celle par défaut, vous pouvez au choix :

  • utiliser la directive Slurm #SBATCH --qos=<qos_choisie> dans votre travail,
  • ou spécifier l'option --qos=<qos_choisie> aux commandes sbatch, salloc ou srun

en remplaçant <qos_choisie> par le nom de la QoS désirée.

Notez que les noms des Qos diffèrent suivant les partitions utilisées.

Qos partition V100

  • QoS par défaut pour tous les travaux GPU V100 : qos_gpu-t3

    • durée maximale : 20h00 de temps Elapsed,
    • 512 GPU maximum par travail,
    • 512 GPU maximum par utilisateur (tous projets confondus),
    • 512 GPU maximum par projet (tous utilisateurs confondus).
  • QoS pour des exécutions plus longues qui doit être spécifiée pour être utilisée (cf. ci-dessus) : qos_gpu-t4

    • durée maximale : 100h00 de temps Elapsed,
    • 16 GPU maximum par travail,
    • 96 GPU maximum par utilisateur (tous projets confondus),
    • 96 GPU maximum par projet (tous utilisateurs confondus),
    • 256 GPU maximum pour l'ensemble des travaux demandant cette QoS.
  • QoS réservée uniquement à des exécutions brèves effectuées dans le cadre de développement des codes ou de tests d'exécutions et qui doit être spécifiée pour être utilisée (cf. ci-dessus) : qos_gpu-dev

    • un maximum de 10 travaux (en cours d'exécution ou en attente) simultanément par utilisateur,
    • durée maximale : 2h00 de temps Elapsed,
    • 32 GPU maximum par travail,
    • 32 GPU maximum par utilisateur (tous projets confondus),
    • 32 GPU maximum par projet (tous utilisateurs confondus),
    • 512 GPU maximum pour l'ensemble des travaux demandant cette QoS.
QoSLimite en tempsLimite en ressource par travailLimite par utilisateur (tous projets confondus)Limite par projet (tous utilisateurs confondus)Limite par QoS (tous utilisateurs confondus)
qos_gpu‑t3 (défaut)20h512 GPU512 GPU512 GPU
qos_gpu‑t4100h16 GPU96 GPU96 GPU256 GPU
qos_gpu‑dev2h32 GPU32 GPU, 10 travaux maximum (en cours d'exécution ou en attente) simultanément32 GPU512 GPU

Qos partition A100

  • QoS par défaut pour tous les travaux GPU A100 : qos_gpu_a100-t3

    • durée maximale : 20h00 de temps Elapsed,
    • 128 GPU maximum par travail,
    • 256 GPU maximum par utilisateur (tous projets confondus),
    • 256 GPU maximum par projet (tous utilisateurs confondus).
  • QoS réservée uniquement à des exécutions brèves effectuées dans le cadre de développement des codes ou de tests d'exécutions et qui doit être spécifiée pour être utilisée (cf. ci-dessus) : qos_gpu_a100-dev

    • un maximum de 10 travaux (en cours d'exécution ou en attente) simultanément par utilisateur,
    • durée maximale : 2h00 de temps Elapsed,
    • 32 GPU maximum par travail,
    • 32 GPU maximum par utilisateur (tous projets confondus),
    • 32 GPU maximum par projet (tous utilisateurs confondus),
    • 128 GPU maximum pour l'ensemble des travaux demandant cette QoS.
Attention

La partition A100 ne dispose pas d'une QoS permettant l'exécution de travaux de plus de 20h en raison du nombre limité de nœuds A100 disponibles.

Tableau récapitulatif des limites sur les QoS GPU A100

QoSLimite en tempsLimite en ressource par travailLimite par utilisateur (tous projets confondus)Limite par projet (tous utilisateurs confondus)Limite par QoS (tous utilisateurs confondus)
qos_gpu_a100‑t3 (défaut)20h128 GPU256 GPU256 GPU
qos_gpu_a100‑dev2h32 GPU32 GPU, 10 travaux maximum (en cours d'exécution ou en attente) simultanément32 GPU128 GPU

Qos partition H100

  • QoS par défaut pour tous les travaux GPU H100 : qos_gpu_h100-t3

    • durée maximale : 20h00 de temps Elapsed,
    • 512 GPU maximum par travail,
    • 512 GPU maximum par utilisateur (tous projets confondus),
    • 512 GPU maximum par projet (tous utilisateurs confondus).
  • QoS pour des exécutions plus longues qui doit être spécifiée pour être utilisée (cf. ci-dessus) : qos_gpu_h100-t4

    • durée maximale : 100h00 de temps Elapsed,
    • 16 GPU maximum par travail,
    • 64 GPU maximum par utilisateur (tous projets confondus),
    • 64 GPU maximum par projet (tous utilisateurs confondus),
    • 192 GPU maximum pour l'ensemble des travaux demandant cette QoS.
  • QoS réservée uniquement à des exécutions brèves effectuées dans le cadre de développement des codes ou de tests d'exécutions et qui doit être spécifiée pour être utilisée (cf. ci-dessus) : qos_gpu_h100-dev

    • un maximum de 10 travaux (en cours d'exécution ou en attente) simultanément par utilisateur,
    • durée maximale : 2h00 de temps Elapsed,
    • 32 GPU maximum par travail,
    • 32 GPU maximum par utilisateur (tous projets confondus),
    • 32 GPU maximum par projet (tous utilisateurs confondus),
    • 384 GPU maximum pour l'ensemble des travaux demandant cette QoS.
QoSLimite en tempsLimite en ressource par travailLimite par utilisateur (tous projets confondus)Limite par projet (tous utilisateurs confondus)Limite par QoS (tous utilisateurs confondus)
qos_gpu_h100‑t3 (défaut)20h512 GPU512 GPU512 GPU
qos_gpu_h100‑t4100h16 GPU64 GPU64 GPU192 GPU
qos_gpu_h100‑dev2h32 GPU32 GPU, 10 travaux maximum (en cours d'exécution ou en attente) simultanément32 GPU384 GPU