Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| recherche:cluster [05/03/2020 13:49] – aurelien.villani | recherche:cluster [17/07/2024 13:54] (Version actuelle) – modification des liens maurice | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Cluster ====== | ====== Cluster ====== | ||
| - | La liste des logiciels disponible est sur [[Cluster: | ||
| - | ===== Nettoyage de jobs plantés | + | ===== Intro et logiciels ===== |
| + | |||
| + | * La doc que vous recevez à la création de compte est [[http:// | ||
| + | * Le pole [[https:// | ||
| + | * Vous pouvez joindre les admins à [[centaure-admins@listes.emse.fr]] | ||
| + | |||
| + | * **La liste des logiciels** disponible est sur [[recherche: | ||
| + | |||
| + | ===== 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, | ||
| + | Dans le fichier job, ajoutez avec les commandes spéciales slurm du début la ligne suivante: | ||
| + | |||
| + | < | ||
| + | #SBATCH --array 1-500%10 | ||
| + | </ | ||
| + | |||
| + | Ainsi, vous définissez avoir 500 jobs à lancer, mais n'en autorisez que 10 en simultané. Vous disposez alors d'une variable " | ||
| + | |||
| + | < | ||
| + | module purge | ||
| + | module load anaconda/ | ||
| + | cd $SCRATCH | ||
| + | srun python array_job.py $SLURM_ARRAY_TASK_ID | ||
| + | </ | ||
| + | |||
| + | Et le python correspondant: | ||
| + | < | ||
| + | import sys | ||
| + | import time | ||
| + | |||
| + | print(' | ||
| + | time.sleep(10) | ||
| + | print(" | ||
| + | </ | ||
| + | |||
| + | Les fichiers exemples sont {{ : | ||
| + | |||
| + | ===== 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 27: | 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`, | On voit, par exemple, que le job a été lancé sur `compute-1-1`, | ||
| Ligne 44: | 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 50: | Ligne 89: | ||
| < | < | ||
| - | alias squeue=' | + | alias squeue=' |
| </ | </ | ||
| - | ===== 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**, | Let's say you want to use your code, for instance, **flatori**, | ||
| Ligne 83: | 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` | ||
| + | |||
| + | |||
| + | |||