
Table des matières
Jean Zay : partitions Slurm GPU
Les partitions disponibles
Tous les projets DARI ou Accès Dynamique (AD) ayant des heures GPU ont à leur disposition des partitions Slurm définies sur Jean Zay.
Attention : la définition des partitions GPU sur Jean Zay a évolué le 8/12/2020
Depuis le 8/12/2020, les projets ayant des heures GPU ont accès par défaut à une nouvelle partition permettant d'utiliser tous types de nœuds accélérés quadri-GPU (ce qui correspond aux anciennes partitions gpu_p1
et gpu_p3
réunies). 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. ci-dessous). Cette nouvelle partition comprenant à la fois des GPU ayant 16 Go de mémoire et des GPU ayant 32 Go de mémoire, si vous désirez vous limiter à un seul type de GPU, il vous faut 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 à 16Go de mémoire (i.e.gpu_p3
)#SBATCH -C v100-32g
# pour sélectionner des nœuds ayant des GPU à 32Go de mémoire (i.e.gpu_p1
)
Si, auparavant, vous spécifiiez explicitement l'une des partitions gpu_p1
ou gpu_p3
dans vos scripts de soumission, vous devez remplacer la directive SLURM #SBATCH --partition=...
correspondante par l'une des deux directives ci-dessus.
Les autres partitions sont toujours disponibles (et resteront inchangées jusqu'à nouvel ordre) :
- La partition gpu_p2 est pour le moment uniquement accessible aux chercheurs en Intelligence Artificielle qui ont effectué une demande d'heures GPU via les Accès Dynamiques (AD). Elle permet de lancer des calculs sur les nœuds accélérés octo-GPU de Jean Zay. 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. ci-dessous).- La sous-partition gpu_p2s donne accès au nœuds octo-GPU à 360 Go de mémoire.
- La sous-partition gpu_p2l donne accès au nœuds octo-GPU à 720 Go de mémoire.
- La partition prepost permet de lancer un travail sur l'un des nœuds pré/post-traitement de Jean Zay
jean-zay-pp
, sur lesquels les calculs ne sont pas déduits de votre allocation. Par défaut, le temps d'exécution est de 2 heures et il ne peut dépasser 20 heures (soit--time=HH:MM:SS
≤ 20:00:00, c.f ci-dessous). - La partition visu permet de lancer un travail sur l'un des nœuds de visualisation de Jean Zay
jean-zay-visu
, sur lesquels les heures de calcul ne sont pas déduites de votre allocation. Par défaut, le temps d'exécution est de 10 minutes et il ne peut dépasser 4 heures (soit--time=HH:MM:SS
≤ 4:00:00 c.f. ci-dessous). - La partition archive est dédiée aux commandes permettant de gérer les données (copies ou déplacements de fichiers, création d'archives) : les heures de calcul ne sont pas déduites de votre allocation. Par défaut, le temps d'exécution est de 2 heures et il ne peut dépasser 20 heures (soit
--time=HH:MM:SS
≤ 20:00:00 c.f. ci-dessous). - La partition compil est dédiée aux compilations des codes et bibliothèques qui ne peuvent se faire sur la frontale car elles requièrent trop de temps cpu : les heures de calcul ne sont pas déduites de votre allocation. Par défaut, le temps d'exécution est de 2 heures et il ne peut dépasser 20 heures (soit
--time=HH:MM:SS
≤ 20:00:00 c.f. ci-dessous).
Attention aux limites de temps par défaut des partitions, qui 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. Vous devez alors utiliser :
- soit la directive Slurm
#SBATCH --time=HH:MM:SS
dans votre job, - soit l'option
--time=HH:MM:SS
des commandessbatch
,salloc
ousrun
.
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 job, - soit l'option
--partition=prepost
des commandessbatch
,salloc
ousrun
.
Attention : depuis le 11 octobre 2019, 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, la réservation de 41 cœurs CPU (soit 1 nœud + 1 cœur) sur la partition cpu_p1 entraîne la facturation de 80 cœurs CPU (soit 2 nœuds). De manière analogue 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 disponible dans les deux cas (de l'ordre de 160 Go utiles par nœud).
Les QoS disponibles
Pour chaque job soumis dans une partition autre que les partitions 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 job :
- la QoS par défaut pour tous les travaux GPU : qos_gpu-t3
- durée max : 20h00 de temps Elapsed,
- 512 GPU maximum par travail,
- 1024 GPU maximum par utilisateur (tous projets confondus),
- 1024 GPU maximum par projet (tous utilisateurs confondus).
- une QoS pour des exécutions plus longues et qui doit être spécifiée pour être utilisée (c.f. ci-dessous) : qos_gpu-t4
- durée max : 100h00 de temps Elapsed,
- 16 GPU maximum par travail,
- 128 GPU maximum par utilisateur (tous projets confondus),
- 128 GPU maximum par projet (tous utilisateurs confondus),
- 512 GPU maximum pour l'ensemble des travaux demandant cette QoS.
- une QoS pour des exécutions plus brèves et qui doit être spécifiée pour être utilisée (c.f. ci-dessous) : qos_gpu-dev
- durée max : 2h00 de temps Elapsed,
- 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.
Pour spécifier une QoS différente du défaut, vous pouvez au choix :
- utiliser la directive Slurm
#SBATCH --qos=qos_gpu-dev
dans votre job par exemple, - ou spécifier l'option
--qos=qos_gpu-dev
aux commandessbatch
,salloc
ousrun
.
Tableau récapitulatif | |||||
QoS | Limite en temps | Limite en ressource | |||
---|---|---|---|---|---|
par job | par utilisateur (tous projets confondus) | par projet (tous utilisateurs confondus) | par QoS | ||
qos_gpu-t3 (défaut) | 20h | 512 GPU | 1024 GPU | 1024 GPU | |
qos_gpu-t4 | 100h | 16 GPU | 128 GPU | 128 GPU | 512 GPU |
qos_gpu-dev | 2h | 32 GPU | 32 GPU | 32 GPU | 512 GPU |