Outils pour utilisateurs

Outils du site


leria:centre_de_calcul:cluster

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
leria:centre_de_calcul:cluster [22/03/2019 11:20] – [CPLEX] Chantrein Jean-Mathieuleria:centre_de_calcul:cluster [26/03/2019 15:33] – [Array jobs] Chantrein Jean-Mathieu
Ligne 282: Ligne 282:
 ==== Array jobs ==== ==== Array jobs ====
  
-Vous devriez commencer par lire la [[https://slurm.schedmd.com/job_array.html|documentation officielle]].+Vous devriez commencer par lire la [[https://slurm.schedmd.com/job_array.html|documentation officielle]]. Cette [[http://scicomp.aalto.fi/triton/tut/array.html|page]] présente des cas d'utilisations intéressants.
  
 Si vous avez un grand nombre de fichier ou de parametres à traiter avec un seul exécutable, vous devez utiliser un [[https://slurm.schedmd.com/job_array.html|array job]]. Si vous avez un grand nombre de fichier ou de parametres à traiter avec un seul exécutable, vous devez utiliser un [[https://slurm.schedmd.com/job_array.html|array job]].
Ligne 352: Ligne 352:
 ./job_name_exec ${INSTANCES[$SLURM_ARRAY_TASK_ID]} ./job_name_exec ${INSTANCES[$SLURM_ARRAY_TASK_ID]}
 </code> </code>
 +
 +=== Job pour multiples instances avec multiples exécutions (Seed number) ===
 +
 +Parfois il faut lancer plusieurs fois l'exécution sur une instance en modifiant la graine qui permet de générer des nombres aléatoire.
 +
 +Soit l'arborescence suivante:
 +<code>
 +job_name
 +├── error
 +├── instances
 +│   ├── bench1.txt
 +│   ├── bench2.txt
 +│   └── bench3.txt
 +├── job_name_exec
 +├── output
 +├── submit_instances_dir_with_seed.slurm
 +└── submit.sh
 +</code>
 +
 +Il suffit d’exécuter la commande suivante:
 +
 +  ./submit.sh
 +
 +avec le fichier submit.sh suivant (pensez à modifier la variable NB_SEED):
 +
 +<code bash>
 +#!/bin/bash
 +
 +readonly NB_SEED=50
 +
 +for instance in $(ls instances)
 +do
 +  sbatch --output output/${instance}_%A-%a --error error/${instance}_%A-%a --array 0-${NB_SEED} submit_instances_dir_with_seed.slurm instances/${instance}
 +done
 +exit 0
 +</code>
 +
 +et le batch submit_instances_dir_with_seed.slurm suivant:
 +
 +<code bash>
 +#!/bin/bash
 +#SBATCH --mail-type=END,FAIL
 +#SBATCH --mail-user=YOUR-EMAIL
 +
 +echo "####### INSTANCE: ${1}"
 +echo "####### SEED NUMBER: ${SLURM_ARRAY_TASK_ID}"
 +echo
 +srun echo nomApplication ${1} ${SLURM_ARRAY_TASK_ID}
 +</code>
 +
 +Avec cette méthode, la variable SLURM_ARRAY_TASK_ID contient la graine. Et vous soumettez autant de array job que ce qu'il y a d'instance dans le répertoire instance.
 +Vous retrouvez facilement vos sortie qui sont nommées comme ceci:
 +
 +  output/nom_instance-ID_job-graine 
 +
  
 === Dépendances entre job === === Dépendances entre job ===
Ligne 498: Ligne 553:
 Le chemin pour la bibliothèque Cplex est le chemin par défaut /opt/ibm/ILOG/CPLEX_Studio129 (version 12.9) Le chemin pour la bibliothèque Cplex est le chemin par défaut /opt/ibm/ILOG/CPLEX_Studio129 (version 12.9)
 ===== FAQ ===== ===== FAQ =====
 +
 +  * Comment savoir quelles sont les ressources d'une partition, exemple avec la partition std:
 +
 +  user@stargate~# scontrol show Partition std
  
   * Comment obtenir un prompt shell interactif dans un nœud de calcul de votre partition par défaut ?   * Comment obtenir un prompt shell interactif dans un nœud de calcul de votre partition par défaut ?
leria/centre_de_calcul/cluster.txt · Dernière modification : 06/06/2023 17:00 de Chantrein Jean-Mathieu