Utilisation des noeuds GPU

Le mésocentre dispose de plusieurs nœuds équipés de cartes graphiques NVIDIA Tesla.

Pour indiquer à SLURM que l’on veut disposer d’une machine équipée de processeurs graphiques (GPU), il faut indiquer, lors de la soumission du job, l’une de partitions dédiées au calcul GPU. Par default c’est la partition gpu comprenant tous les nœuds dotés de cartes GPU qui sera utilisée : -p gpu.

Nom de la partitionNœud(s) associé(s)Mémoire par CPU (Mo)
gpugpu[001-012]5360
teslak20gpu[001-002]12890
teslak40gpu0035360
keplergpu[004-010]13430
pascalgpu[011-012]11512

Il faut également spécifier le nombre de ressources GPU souhaitées par exemple --gres=gpu:2.

Les noeuds GPU gpu001-003 étant seulement interconnectés par le réseau Ethernet en Giga, l’usage de GPU multi-nœud sur ces nœuds n’est pas encouragé.

Sur une machine GPU donnée, les GPU sont numérotés par un ID variant de 0 à 4 selon le nombre d’accélérateurs embarqués. Il est généralement nécessaire d’indiquer au programme quel(s) GPU_ID utiliser. La variable d’environnement $CUDA_VISIBLE_DEVICES liste le ou les GPU attribués.

Exemple de mise en place dans un code fortran :

dans le .cuf remplacer le cudaSetDevice(0)

par: 

#ifdef GPUID
  cudaSetDevice(GPUID)
#else
  cudaSetDevice(0)
#endif

Associé au script de soumission à SLURM

#!/bin/bash
#SBATCH -p gpu
#SBATCH --gres=gpu:2
module load userspace/all
module load PGI/14.9
pgf90 -Mpreprocess -DGPUID=$CUDA_VISIBLE_DEVICES -fast -o exec exec.cuf

./exec

Exemple de demande de ressource gpu en interactif


srun -p gpu --gres=gpu:1 --pty bash -i


Partenaire du projet  

Equip@Meso

mesocentre-techn@univ-amu.fr

+33 (0)4 13 55 12 15 / 55 03 33

                                     Dernière mise à jour : 5 septembre 2018