recherche: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édentes Révision précédente
Prochaine révision
Révision précédente
recherche:cluster [23/04/2020 10:25] aurelien.villanirecherche:cluster [17/07/2024 13:54] (Version actuelle) – modification des liens maurice
Ligne 1: Ligne 1:
 ====== Cluster ====== ====== Cluster ======
-===== Intro ===== 
  
-Le pole [[https://services-numeriques.emse.fr/pole-csn/| Calcul et Simulation Numérique]] dispose d'une page [[https://services-numeriques.emse.fr/pole-csn/cluster-centaure/ | cluster]] avec une rubrique [[https://services-numeriques.emse.fr/pole-csn/formation/| formation]]. Consultez là ! :) 
  
-**La liste des logiciels** disponible est sur [[recherche:Cluster:softwares]], ainsi que comment compiler certaines choses sur votre home.+===== Intro et logiciels =====
  
-===== Nettoyage de jobs plantés =====+  * La doc que vous recevez à la création de compte est [[http://sms-nas.emse.fr/isn_lgf/index.php/serveurs-de-calcul/centaure | sur la baie ]] 
 +  * Le pole [[https://services-numeriques.emse.fr/calcul-intensif-hpc/| Calcul Intensif]] dispose d'une page [[https://services-numeriques.emse.fr/calcul-intensif-hpc/cluster-calcul/ | cluster]] avec un [[https://services-numeriques.emse.fr/calcul-intensif-hpc/outils/| guide pratique]]. Consultez le ! :) 
 +  * Vous pouvez joindre les admins à [[centaure-admins@listes.emse.fr]] 
 + 
 +  * **La liste des logiciels** disponible est sur [[recherche:Cluster:softwares]], ainsi que comment compiler certaines choses sur votre home. 
 + 
 +===== Lancement massif de jobs: slurm array ===== 
 +Il peut arriver que vous vouliez lancer massivement des jobs. Comment économiser les licences, ou simplement respecter les autres utilisateurs ? 
 +Avec les slurm arrays, vous définissez une pile et un nombre maximum de jobs concurrents, qui piochent dans cette pile. 
 +Dans le fichier job, ajoutez avec les commandes spéciales slurm du début la ligne suivante: 
 + 
 +<Code:bash> 
 +#SBATCH --array 1-500%10 
 +</Code> 
 + 
 +Ainsi, vous définissez avoir 500 jobs à lancer, mais n'en autorisez que 10 en simultané. Vous disposez alors d'une variable "$SLURM_ARRAY_TASK_ID" que vous pouvez utiliser de la sorte (par exemple, avec python): 
 + 
 +<Code:bash> 
 +module purge 
 +module load anaconda/python3 
 +cd $SCRATCH 
 +srun python array_job.py $SLURM_ARRAY_TASK_ID 
 +</Code> 
 + 
 +Et le python correspondant: 
 +<Code:python> 
 +import sys  
 +import time 
 + 
 +print('Job num {:d}. Dodo 10s...'.format(int(sys.argv[1]))) 
 +time.sleep(10) 
 +print("voila"
 +</Code> 
 + 
 +Les fichiers exemples sont {{ :recherche:cluster:slurm_array.tar.gz | ici}}  
 + 
 +===== Tips ===== 
 + 
 +==== Nettoyage de jobs plantés ====
 Parfois, des job annulés ou finis restent sur les noeuds: il faut les tuer à la main. Parfois, des job annulés ou finis restent sur les noeuds: il faut les tuer à la main.
  
Ligne 30: Ligne 66:
 ` show_process.sh MON_LOGIN` ` show_process.sh MON_LOGIN`
  
-==== 
  
-**Un fois les noeuds identifiés:**+ 
 +**Une fois les noeuds identifiés:**
  
 On voit, par exemple, que le job a été lancé sur `compute-1-1`, donc on s'y connecte: On voit, par exemple, que le job a été lancé sur `compute-1-1`, donc on s'y connecte:
Ligne 47: Ligne 83:
 Voilà ! Voilà !
  
-===== Super squeue =====+==== Super squeue ====
  
 Pour que la sortie donnée par la commande _squeue_ soit vraiment utile, vous pouvez configurer un alias pour votre shell. Ca colore vos propre job, étend la colonne avec le nom, etc. Pour que la sortie donnée par la commande _squeue_ soit vraiment utile, vous pouvez configurer un alias pour votre shell. Ca colore vos propre job, étend la colonne avec le nom, etc.
Ligne 53: Ligne 89:
  
 <Code:shell> <Code:shell>
-alias squeue='squeue -o "%.5i %.9P %.22j %.8u %.2t %.10M %.5D %R" | GREP_COLOR="01;31" egrep --color=always "^.*$USER PD.*$|$" | GREP_COLOR="01;32" egrep -i --color=always "^.*$USER  R.*$|$"'+alias squeue='squeue -o "%.8i %.9P %.22j %.8u %.2t %.10M %.5D %R" | GREP_COLOR="01;31" egrep --color=always "^.*$USER PD.*$|$" | GREP_COLOR="01;32" egrep -i --color=always "^.*$USER  R.*$|$"'
 </Code> </Code>
  
-===== Créer un module pour votre code utilisable avec module load =====+==== Créer un module pour votre code utilisable avec module load ====
  
 Let's say you want to use your code, for instance, **flatori**, on the cluster. Let's say you want to use your code, for instance, **flatori**, on the cluster.
Ligne 86: Ligne 122:
  
 //Et voilà//, now you can see your module when typing `module avail`, and in our case, do `module load flatori/R0` //Et voilà//, now you can see your module when typing `module avail`, and in our case, do `module load flatori/R0`
 +
 +
 +
  
  
  • recherche/cluster.1587630332.txt.gz
  • Dernière modification : 23/04/2020 10:25
  • de aurelien.villani