====== 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