Soumettre un job
Exemple de script SLURM
#!/bin/bash
#SBATCH --job-name=nom_du_job # nom du job
#SBATCH --nodes=4 # demande de 4 noeuds
#SBATCH --ntasks=32 # demander 32 tâches MPI
#SBATCH --cpus-per-task=2 # demander 2 processeurs par tâche (pour de l'openMP par exemple)
#SBATCH --mem-per-cpu=2048 # demander 2 Go de RAM par CPU
#SBATCH -t 48:00:00 # limiter la simulation à 2 jours (temps réel, pas en temps cpu)
#SBATCH -p xeonv1 # utiliser la partition xeonv1
module load openmpi-x86_64
export OMP_NUM_THREADS=2
mpirun ./mon_executable_mpi > outD’autres exemples sont disponibles là : /share/apps/common/Exemples_slurm/
N’hésitez pas à proposer vos exemples de job slurm dans le répertoire cité précédement..
Explications
Déclarer le shell à utiliser
#!/bin/bashNom du job
#SBATCH -J my_jobSur combien de machines ? 3 ?
#SBATCH -N 3Combien de processeurs ? 48 ?
#SBATCH -n 48Si je veux 10 coeurs avec 2 threads par coeur (configurez OMP_NUM_THREADS=2)
#SBATCH -n 10 -c 2Si je veux lancer 4 programmes par noeud sur 6 noeuds, pour un total de 24 processus
#SBATCH -N 6 --tasks-per-node=4Combien de mémoire par noeud (en Mo)
#SBATCH --mem 2048Combien de mémoire par processeurs (toujours en Mo)
#SBATCH --mem-per-cpu=512Combien de temps maximum doit durer le calcul ? (ici 2 jours)
#SBATCH -t 48:00:00Pour une durée de 10 minutes
#SBATCH -t 10Pour 10 minutes et 20 secondes
#SBATCH -t 10:20Pour 10 heures, 20minutes et 30 seconds
#SBATCH -t 10:20:30Quelle partition utiliser ?
#SBATCH -p my_partitionSi je veux un noeud entier pour moi
#SBATCH --exclusiveSi je veux partager le noeud que je vais utiliser
#SBATCH --oversubcribePour faire de la dépendance de job (à adapter)
sbatch --dependency=afterok:$SLURM_JOB_ID job2.sh Pour plus/d’autres informations
man sbatch