Les cartes accélératrices
Le cluster est équipé de plusieurs sortes de cartes accélératrices :
Modèle | Nombre | Type | Ressource |
---|---|---|---|
Nvidia Turing RTX 2080 Ti (CUDA 9 à 10) | 4 (2 nœuds de 2 cartes) | GPU | gpu:RTX2080 |
Nvidia Tesla K80 (CUDA 8 à 10) | 2 (1 nœud de 2 cartes) | GPU | gpu:K80 |
Pour utiliser les cartes accélératrices sur le cluster, vous devez préciser la ressource demandée dans votre script de soumission (voir ci-après).
Attention: Pour assurer la disponibilité de ces ressources limitées, les noeuds avec accélérateurs sont uniquement destinés aux calculs sur MIC ou GPU à l'exception des nœuds GPU utilisés par les jobs d'une heure ou moins.
Demande de ressources
Pour réserver un noeud avec accélérateur, vous devez préciser la ressource (voir tableau ci-dessus) en haut de votre script de soumission avec l'option SBATCH --gres=<ressource>:<nombre>
Par exemple, pour réserver un nœud GPU avec une carte Nvidia Tesla K80 :
#!/bin/bash #SBATCH --nodes=1 #SBATCH --ntasks-per-node=1 #SBATCH --time=00:05:00 #SBATCH --job-name=GPU #SBATCH --mem=1G #SBATCH --gres=gpu:K80:1 ...
Info : lorsque vous réservez un ou plusieurs noeuds GPU Nvidia, une variable d'environnement CUDA_VISIBLE_DEVICES est créée, contenant les cartes GPU allouées à votre job (par exemple "0,1").
Compilation du code
Avant de pouvoir utiliser votre code sur une carte accélératrice, il est nécessaire de le compiler avec les bonnes options.
Pour compiler un code GPU Nvidia, il suffit de charger le module depuis la machine interactive ou depuis la frontale du cluster :
module load nvidia/cuda/9.0/compilers nvcc source.cu
Monitoring des cartes accélératrices
Pour surveiller les performances de l'accélérateur utilisé, commencez par récupérer le nom du ou des noeuds sur le(s)quel(s) votre job tourne avec la commande :
sacct --format=jobid,jobname,submit,partition,nodelist
Puis rendez vous sur le site de monitoring dans la rubrique Ganglia.
Cliquez sur le noeud correspondant à la dernière colonne affichée par la commande précédente.
Les cartes GPU (par exemple sur les nœuds tesla-07-xx) sont monitorés dans la rubrique "gpu metrics".