Outils pour utilisateurs

Outils du site


jobarray

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
jobarray [2017/06/16 12:32] – créée toussainjobarray [2019/01/11 14:19] (Version actuelle) hetoussa
Ligne 1: Ligne 1:
 +
 ~~NOTOC~~ ~~NOTOC~~
  
 ====== Les tableaux de jobs ====== ====== Les tableaux de jobs ======
 Les tableaux de jobs (Job arrays) offrent une manière très simple pour soumettre un grand nombre de jobs indépendants. Ils peuvent être typiquement utilisés pour appliquer le même programme à différentes données d'entrée.  Les tableaux de jobs (Job arrays) offrent une manière très simple pour soumettre un grand nombre de jobs indépendants. Ils peuvent être typiquement utilisés pour appliquer le même programme à différentes données d'entrée. 
-La soumission d'un tableau de jobs s'effectue simplement en ajoutant l'option --array=<indices> à la liste des options de la commande sbatch. Par exemple l'option --array=0-9 crée un tableau de jobs indicé de 0 à 9.  + 
-La variable d'environnement  SLURM_ARRAY_TASK_ID donne l'indice du job courant dans le tableau. L'exemple suivant montre comment créer un tableau de 10 jobs et utiliser la variable SLURM_ARRAY_TASK_ID pour que chaque job s'exécute sur une instance (donnée d'entrée) différente. Les instances s'appellent insA.txt à insJ.txt et sont passées en argument de la ligne de commande. +=====Soumission d'un tableau de jobs===== 
 + 
 +La soumission d'un tableau de jobs s'effectue simplement en ajoutant l'option <code bash>--array=<indices></code> à la liste des options de la commande **sbatch**. 
 + 
 +La variable d'environnement  <color brown> SLURM_ARRAY_TASK_ID </color> donne l'indice du job courant dans le tableau.  
 + 
 +=====Exemple===== 
 + 
 +L'exemple suivant montre comment créer un tableau de 10 jobs et utiliser la variable <color brown> SLURM_ARRAY_TASK_ID </color> pour que chaque job s'exécute sur une instance (donnée d'entrée) différente. Les instances s'appellent insA.txt à insJ.txt et sont passées en argument de la ligne de commande.  
 + 
 +<code bash> 
 +#!/bin/bash 
 + 
 +#================= OPTIONS (s'applique à chaque job du tableau) ========================= 
 +#SBATCH --array=0-9              # création d'un tableau de 10 jobs indicés de 0 à 9 
 +#SBATCH --partition=court        # choix de la partition 
 +#SBATCH --ntasks=1               # chaque job possède une seule task 
 +#SBATCH --cpus-per-task=4        # une task nécessite 4 CPU 
 +#SBATCH --mem-per-cpu=2048       # 2 Go de RAM par CPU 
 +#SBATCH --output=nouveau-nom_%a  # modifie le nom du fichier de sortie par défaut 
 + 
 +#========================== TASKS ================================ 
 + 
 +tab=(A B C D E F G H I J) 
 +./exe ins${tab[$SLURM_ARRAY_TASK_ID]}.txt 
 + 
 +</code> 
 + 
 +Voir la section [[varenv|Variables d'environnement SLURM]] pour plus d'information sur les variables d'environnement liées aux tableaux de jobs.
  
jobarray.1497616334.txt.gz · Dernière modification : 2018/10/11 20:49 (modification externe)