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. Deux exemples: Code MPI avec 5 tâches et 10GB de mémoire;  Code Multithreaded avec 5 threads 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).