
Partition / global = 3 jobs max par utilisateur :
- small : exclusive, 2 jobs max, pas plus de 6 noeuds par jobs, max walltime par job 4H
- big : exclusive, 1 job max, pas plus de 13 noeuds par jobs, max walltime par job 2H
- full : exclusive, 1 job max, au moins 14 noeuds par jobs, max walltime par job 20H
- shared : non exclusive, 2 jobs max, pas plus de 1 GPU, 40 cpu et 256G ram par jobs, max walltime par job 4H
- visu : non exclusive, 1 job max, max 50Go RAM max 8 cpu par job, max walltime par job 4H
Afin de ne pas monopoliser l’ensemble des noeuds du cluster en journée :
- la partition "full" est activée du lundi au vendredi à 18H00
- la partition "full" est désactivée du lundi au jeudi ainsi que le dimanche à partir de 22H00
Lorsque la partition est désactivée, les soumissions sont possibles, mais les jobs sont suspendus jusqu’à l’activation de la partition. A la désactivation, les jobs RUNNING sur la partition "full" ne sont pas arrêtés.
Comment lancer un script sbatch ?
- Exemple script exclusif, 2 nœuds, 160 processeurs, le temps d'exécution moins de 4H
- Exemple script shared, 1 nœud, 40 processeurs, le temps d'exécution moins de 4H
Exemple script exclusif, 2 nœuds, 160 processeurs, le temps d'exécution moins de 4H
#!/bin/bash #SBATCH -N 2 #SBATCH -n 160 #SBATCH --gres=gpu:2 #SBATCH -p small #SBATCH --ntasks-per-node=80 #SBATCH --time=00:10:00 module purge module load gnu/11.2.0 module load openmpi/gnu/4.1.4-gpu nodeset -e ${SLURM_JOB_NODELIST} | tr ' ' '\n' > hostfile_${SLURM_JOBID} mpirun -hostfile ./hostfile_${SLURM_JOBID} -n 160 ./exec
Exemple script shared, 1 nœud, 40 processeurs, le temps d'exécution moins de 4H
#!/bin/bash #SBATCH -N 1 #SBATCH -n 40 #SBATCH --gres=gpu:1 #SBATCH -p shared #SBATCH --ntasks-per-node=40 #SBATCH --time=00:10:00 module purge module load gnu/11.2.0 module load openmpi/gnu/4.1.4-gpu mpirun -n 40 ./exec
Informations sur le job
Il est possible pour visualiser simplement des information sur son job d'utiliser la commande "jobinfo <jobid>
" :
jobinfo 6101
Job Infos : Name : Test partition small - 4 noeuds User : marteau Partition : small NNodes : 4 Nodes : turpancomp[0-3] State : COMPLETED Submit : 2023-04-14T16:08:02 Start : 2023-04-14T16:08:02 End : 2023-04-14T16:08:05 Reserved walltime : 04:00:00 Used walltime : 00:00:03 Used CPU time : 00:01.884 % User Computation) : 0 % (00:00.658) % System (I/O) : 100.00 % (00:01.225) Mem reserved : 2.0T Max Mem used : 24M Max Disk Write : 0 Max Disk Read : 0 Energy consumption : 1W.h
Utilisé à la fin d'un script sbatch, jobinfo donnera des informations très utilies si vous contactez le support :
#!/bin/bash #SBATCH -N 2 #SBATCH -n 160 #SBATCH --gres=gpu:2 #SBATCH -p small #SBATCH --ntasks-per-node=80 #SBATCH --time=00:10:00 # Chargement des modules module purge module load gnu/11.2.0 module load openmpi/gnu/4.1.4-gpu # Preparation de l'environnement d'execution myProjectDir=/users/sysadmin/marteau/slurm-scripts/mpi_hello_world_project myExec="mpi_hello_world" myWorkDir="${SLURM_JOBID}" mkdir -p "${myWorkDir}" cd "${myWorkDir}" cp "${0}" . cp ${myProjectDir}/${myExec} . nodeset -e "${SLURM_JOB_NODELIST}" | tr ' ' '\n' > "hostfile_${SLURM_JOBID}" mpirun -hostfile "./hostfile_${SLURM_JOBID}" -n 160 "./${myExec}" jobinfo "${SLURM_JOBID}"
Ce qui affiche dans la sortie slurm (slurm-<jobid>.out):
[...]Job Infos : Name : partition-small-jobinfo.sbatch User : marteau Partition : small NNodes : 2 Nodes : turpancomp[0-1] State : RUNNING Submit : 2023-04-17T17:58:37 Start : 2023-04-17T17:58:37 End : Unknown Reserved walltime : 00:10:00 Used walltime : 00:01:04 Used CPU time : 00:46.488 % User Computation) : 41.00 % (00:19.439) % System (I/O) : 58.00 % (00:27.049) Mem reserved : 1008G Max Mem used : 9.8G Max Disk Write : 329M Max Disk Read : 250M Energy consumption : 3W.h Debug Infos : BatchHost : turpancomp0 Command : /users/sysadmin/marteau/slurm-scripts/partition-small-jobinfo.sbatch StdOut : /tmpdir/marteau/slurm-6154.out StdErr : /tmpdir/marteau/slurm-6154.out WorkDir : /tmpdir/marteau
Note : Il peut être utile de mettre une petite temporisation avant la commande jobinfo pour permettre d'avoir les dernières valeurs de l'accounting slurm s'il est utilisé dans un script sbatch:
sleep 10 jobinfo
Conteneurs
- Exécuter des codes dans des conteneurs apptainer