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.

Nom de la partitionNœud(s) associé(s)Mémoire par CPU (Mo)
keplergpu[004-010]13430
pascalgpu[011-012]11512
voltagpu[013-017]11500

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


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 kepler
#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 pascal --gres=gpu:1 --pty bash -i


Dernière mise à jour : 2 décembre 2021 mesocentre-techn@univ-amu.fr

+33 (0)4 13 94 58 29 / (0)4 13 94 58 27