Choisir la langue :

Accélérateurs

Les cartes accélératrices

Le cluster HPC est équipé de plusieurs sortes de cartes accélératrices :

Modèle Nombre Type Ressource
Intel Xeon Phi 5110P 2 (1 nœud de 2 cartes) MIC Nœud intéractif knc-07-01
Intel Xeon Phi 7120P 8 (2 nœuds de 4 cartes) MIC mic:7120P
Nvidia Tesla M2090 14 (7 nœuds de 2 cartes) GPU gpu:tesla
Nvidia Tesla K80 1 (1 nœud de 4 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 M2090 :

#!/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:tesla:1
 
...

Ou pour réserver un noeud MIC avec deux cartes Xeon Phi 7120P :

...
#SBATCH --gres=mic:7120P:2
 
...

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 MIC Intel, il faut vous connecter sur le nœud avec les Xeon Phi 5110P depuis la frontale du cluster afin de pouvoir compiler :

ssh knc-07-01
module load intel/2015/compilers
icc -axCORE-AVX2 -xAVX -openmp source.c 
exit

 

Pour compiler un code GPU Nvidia, il suffit de charger le module depuis la frontale du cluster :

module load nvidia/cuda/7.5/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 MIC (par exemple sur les nœuds knc-07-xx) sont monitorés dans la rubrique "mic metrics".
Les cartes GPU (par exemple sur les nœuds tesla-08-xx) sont monitorés dans la rubrique "gpu metrics".