====== Variables d'environnement SLURM ======
On donne ici seulement quelques unes des variables d'environnement qui sont disponibles dans SLURM. Pour une liste exhaustive voir [[https://slurm.schedmd.com/sbatch.html#lbAG|https://slurm.schedmd.com/sbatch.html#lbAG]].
===== Information sur le job =====
* **SLURM_JOB_ID** : numéro du job
* **SLURM_JOB_NAME** : nom du job
* **SLURM_JOB_NUM_NODES** : nombre total de nœuds alloués pour le job
* **SLURM_SUBMIT_DIR** : répertoire à partir duquel le job est soumis
* **SLURMD_NODENAME** : nom du nœud sur lequel le job s'exécute
* **SLURM_JOB_PARTITION** : nom de la partition sur laquelle le job s'exécute
===== Information sur les tableaux de jobs =====
Un tableau de jobs est composé d'un job principal (le tableau) et de tâches (les jobs contenus dans le tableau). SLURM attribue à un job du tableau un numéro constitué du numéro du job principal et de son indice : <
**SLURM_ARRAY_JOB_ID** >_<**SLURM_ARRAY_TASK_ID**>.
On dispose des variables d'environnement suivantes :
* **SLURM_ARRAY_JOB_ID** : numéro du job principal
* **SLURM_ARRAY_TASK_ID** : indice de la tâche dans le tableau
* **SLURM_ARRAY_TASK_COUNT** : nombre total de tâches dans un tableau de jobs
* **SLURM_ARRAY_TASK_MAX** : indice max du tableau de jobs
* **SLURM_ARRAY_TASK_MIN** : indice min du tableau de jobs
===== Exemples d'utilisation =====
#!/bin/bash
#SBATCH --job-name=test1
#SBATCH --time=5:00
#SBATCH --partition=court
echo mon job $SLURM_JOB_NAME, num $SLURM_JOB_ID,
echo "s'execute" dans la partition $SLURM_JOB_PARTITION sur le noeud $SLURMD_NODENAME
./exe 10
#!/bin/bash
#SBATCH --time=1:00
#SBATCH --array=0-9
echo tableau de jobs numero $SLURM_ARRAY_JOB_ID, indices de $SLURM_ARRAY_TASK_MIN a $SLURM_ARRAY_TASK_MAX
#les jobs dont les indices vont de 0 à 4 exécutent le programme 1
if [ $SLURM_ARRAY_TASK_ID -le 4 ]
then
echo "premier programme"
./exe 1
else #les autres exécutent le programme 2
echo "second programme"
./exe 10
fi