Réservation des noeuds GPU

Exemple pour 1 nœud et 9 tâches et 1 GPU

Il faut OBLIGATOIREMENT que votre script comporte à minima les informations suivantes :

#!/bin/bash
#SBATCH -J script_art633
#SBATCH -N 1
#SBATCH -n 9
#SBATCH --ntasks-per-node=9
#SBATCH --ntasks-per-core=1
#SBATCH --gres=gpu:1
#SBATCH --mem=20000
#SBATCH --time=01:00:00
#SBATCH --mail-user=toto [at] mail [dot] com

#parmi les modules à charger
module load cuda/9.1.85.3

Dans cet exemple:

  • On réserve sur 1 nœud, 9 cœurs de calcul (tâches MPI), un GPU et 20 Go de mémoire durant 1 heure.
  • Le paramètre mem est indispensable : s’il n’est pas spécifié le système attribue toute la mémoire, donc le nœud complet (et donc les 4 GPUs, même si vous n’en avez explicitement demandé qu’un seul !)
  • Le paramètre time est optionnel mais très important, si on évalue correctement le temps d’exécution on a des chances de passer plus rapidement.
  • Avec cette en-tête, le job sera routé vers la QOS voltam
  • En termes d’environnement le module cuda/9.1.85.3 est chargé.

Exemple pour 2 nœuds et 72 tâches et 8 GPU

Il faut OBLIGATOIREMENT que votre script comporte à minima les informations suivantes :

#!/bin/bash
#SBATCH -J script_art633
#SBATCH -N 2
#SBATCH -n 72
#SBATCH --ntasks-per-node=36
#SBATCH --ntasks-per-core=1
#SBATCH --gres=gpu:4
#SBATCH --time=01:00:00
#SBATCH --mail-user=toto [at] mail [dot] com

#parmi les modules à charger
module load cuda/9.1.85.3

Dans cet exemple:

  • On réserve 2 nœuds "volta" en mode exclusif, 36 cœurs de calcul (tâches MPI) par nœud (soit 72 au total), et 4 GPU par noeud (soit 8 au total), durant 1 heure .
  • Avec cette en-tête, le job sera routé vers la QOS volta.

En termes d’environnement le module cuda/9.1.85.3 est chargé.

ATTENTION - Vous ou votre application ne devez pas modifier la variable d’environnement CUDA_VISIBLE_DEVICES : celle-ci est positionnée par slurm et ne doit en aucun cas être modifiée.

Voir aussi

Script SLURM pour une réservation de MOINS de 18 cœurs

Réservation des ressources (Exemple pour 5 tâches MPI et 10GB de mémoire)

Script SLURM pour une réservation de PLUS de 18 cœurs

Écrire un script pour un code utilisant plus de 18 cœurs

Script SLURM pour Machine à Mémoire Partagée MESCA

Exemple de script SLURM pour une application OpenMP multithreadée sur 18 threads et ayant besoin de 200 Go (200000 MBytes) de ram globalement adressable:

L’outil placement

Contrôler le placement d’un job hybride Il est particulièrement important de contrôler le placement de ses threads dans le cas d’un job hybride (openmp + mpi).