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.