leria:centre_de_calcul:cluster
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
leria:centre_de_calcul:cluster [22/03/2019 11:20] – [CPLEX] Chantrein Jean-Mathieu | leria:centre_de_calcul:cluster [10/03/2021 18:43] – Ajout d'une section pour l'utilisation de conda avec slurm j.leguy | ||
---|---|---|---|
Ligne 43: | Ligne 43: | ||
==== Architecture matérielle ==== | ==== Architecture matérielle ==== | ||
- | | Hostname | + | | Hostname |
- | | star[254-253] | + | | star[254-253] |
- | | star[245-244] | + | | star[246-252] |
- | | star243 | + | | star[245-244] |
- | | star242 | + | | star243 |
- | | | + | | star242 |
- | | | + | | star[199-195] |
+ | | star[194-190] | ||
+ | | star100 | ||
+ | | star101 | ||
+ | | star102 | ||
==== Architecture logicielle ==== | ==== Architecture logicielle ==== | ||
Ligne 99: | Ligne 103: | ||
< | < | ||
+ | <note important> | ||
+ | https:// | ||
==== Slurm: premiers tests et documentation ==== | ==== Slurm: premiers tests et documentation ==== | ||
Ligne 254: | Ligne 260: | ||
Il est tout a fait possible de surcharger ces valeurs par défaut avec les options --mem-per-cpu et --time. Toutefois, | Il est tout a fait possible de surcharger ces valeurs par défaut avec les options --mem-per-cpu et --time. Toutefois, | ||
- | <note important> | + | <note important> |
+ | * vous ne devriez pas surévaluer les ressources de vos jobs. En effet, slurm fonctionne avec une notion de partage juste (fair share): si vous réservez des ressources, peu importe que vous les utilisiez ou non. Lors de vos prochaines soumissions, | ||
+ | * Si vous avez un grand nombre de job à faire, **vous devez utiliser la soumission par array job**. | ||
+ | * Si ces jobs ont de grandes durées d' | ||
</ | </ | ||
Ligne 276: | Ligne 285: | ||
Voir aussi [[leria: | Voir aussi [[leria: | ||
- | Le cluster de calcul utilise un pool de serveurs de stockages distribués [[https:// | + | * Le cluster de calcul utilise un pool de serveurs de stockages distribués [[https:// |
+ | * Si vous souhaitez créer des groupes, merci d' | ||
+ | |||
+ | * Pour rappel, **par défaut**, les droits de votre home sont définis à 755, donc **tout le monde peut lire et exécuter vos données**. | ||
===== Utilisation avancée ===== | ===== Utilisation avancée ===== | ||
==== Array jobs ==== | ==== Array jobs ==== | ||
- | Vous devriez commencer par lire la [[https:// | + | Vous devriez commencer par lire la [[https:// |
Si vous avez un grand nombre de fichier ou de parametres à traiter avec un seul exécutable, | Si vous avez un grand nombre de fichier ou de parametres à traiter avec un seul exécutable, | ||
Ligne 352: | Ligne 364: | ||
./ | ./ | ||
</ | </ | ||
+ | |||
+ | === Job pour multiples instances avec multiples exécutions (Seed number) === | ||
+ | |||
+ | Parfois il faut lancer plusieurs fois l' | ||
+ | |||
+ | Soit l' | ||
+ | < | ||
+ | job_name | ||
+ | ├── error | ||
+ | ├── instances | ||
+ | │ | ||
+ | │ | ||
+ | │ | ||
+ | ├── job_name_exec | ||
+ | ├── output | ||
+ | ├── submit_instances_dir_with_seed.slurm | ||
+ | └── submit.sh | ||
+ | </ | ||
+ | |||
+ | 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/ | ||
+ | done | ||
+ | exit 0 | ||
+ | </ | ||
+ | |||
+ | et le batch submit_instances_dir_with_seed.slurm suivant: | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | #SBATCH --mail-type=END, | ||
+ | #SBATCH --mail-user=YOUR-EMAIL | ||
+ | |||
+ | echo "####### | ||
+ | echo "####### | ||
+ | echo | ||
+ | srun echo nomApplication ${1} ${SLURM_ARRAY_TASK_ID} | ||
+ | </ | ||
+ | |||
+ | 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' | ||
+ | Vous retrouvez facilement vos sortie qui sont nommées comme ceci: | ||
+ | |||
+ | output/ | ||
+ | |||
=== Dépendances entre job === | === Dépendances entre job === | ||
Ligne 463: | Ligne 530: | ||
Par défaut, il est impossible de se connecter en ssh directement sur les nœuds de calcul. Cependant, si c'est justifié, nous pouvons facilement faire des exceptions si celles ci sont temporaires. Dans ce cas, merci de faire une demande explicite à technique [at] info.univ-angers.fr | Par défaut, il est impossible de se connecter en ssh directement sur les nœuds de calcul. Cependant, si c'est justifié, nous pouvons facilement faire des exceptions si celles ci sont temporaires. Dans ce cas, merci de faire une demande explicite à technique [at] info.univ-angers.fr | ||
+ | |||
+ | Les utilisateurs ayant un accès en ssh doivent être abonnés à la liste calcul-hpc-leria-no-slurm-mode@listes.univ-angers.fr. | ||
+ | Pour s' | ||
+ | |||
+ | __Règle par défaut:__ on ne lance pas un calcul sur un serveur sur lequel tourne déjà un calcul d'un autre utilisateur, | ||
+ | Exception pour les processus boinc. Ces processus se mettent en pause lorsque vous exécutez vos calculs. | ||
+ | |||
+ | La commande htop vous permet de savoir qui calcule avec quelles ressources et depuis combien de temps. | ||
+ | |||
+ | Si vous avez un doute, contactez l' | ||
==== Cuda ==== | ==== Cuda ==== | ||
Ligne 473: | Ligne 550: | ||
Ces nœuds sont pour l' | Ces nœuds sont pour l' | ||
- | |||
- | Listes des utilisateurs autorisés à se servir des nœuds gpu actuellement (en ssh): | ||
- | * benoit.damota | ||
- | * jean-michel.richer | ||
- | * o.goudet | ||
==== Nœud RAM ==== | ==== Nœud RAM ==== | ||
Ligne 483: | Ligne 555: | ||
Ce nœud est accesible par soumissions via slurm (partition ram). Pour pouvoir vous en servir, merci d'en faire la demande explicite à technique [at] info.univ-angers.fr | Ce nœud est accesible par soumissions via slurm (partition ram). Pour pouvoir vous en servir, merci d'en faire la demande explicite à technique [at] info.univ-angers.fr | ||
- | |||
- | Listes des utilisateurs autorisés à se servir des nœuds ram actuellement (en ssh): | ||
- | * benoit.damota (pour boinc) | ||
- | * gilles.hunault (pour test) | ||
- | |||
- | Listes des utilisateurs autorisés à se servir des nœuds ram actuellement (via slurm): | ||
- | * frederic.lardeux | ||
- | * gilles.hunault | ||
==== Cplex ==== | ==== Cplex ==== | ||
Ligne 497: | Ligne 561: | ||
Le chemin pour la bibliothèque Cplex est le chemin par défaut / | Le chemin pour la bibliothèque Cplex est le chemin par défaut / | ||
+ | |||
+ | |||
+ | ==== Environnements conda (Python) ==== | ||
+ | |||
+ | La commande **conda activate < | ||
+ | |||
+ | source $HOME/ | ||
+ | |||
+ | Il sera peut être également nécessaire de mettre à jour les variables d' | ||
+ | |||
+ | source .bashrc | ||
+ | conda init bash | ||
+ | |||
+ | L' | ||
+ | |||
+ | source $HOME/ | ||
===== FAQ ===== | ===== FAQ ===== | ||
+ | |||
+ | * Comment savoir quelles sont les ressources d'une partition, exemple avec la partition std: | ||
+ | |||
+ | user@stargate~# | ||
+ | |||
+ | * Que signifie "Some of your processes may have been killed by the cgroup out-of-memory handler" | ||
+ | |||
+ | Vous avez dépassé la limite de mémoire que vous avez fixé ou celle par défaut (paramètre --mem-per-cpu) | ||
* 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 ? | ||
Ligne 583: | Ligne 671: | ||
* keras | * keras | ||
* scikit-learn | * scikit-learn | ||
- | * tenserflow | + | * tensorflow |
- | * tenserflow-gpu # Sur nœuds gpu | + | * tensorflow-gpu # Sur nœuds gpu |
==== Nœuds GPU via apt-get ==== | ==== Nœuds GPU via apt-get ==== |
leria/centre_de_calcul/cluster.txt · Dernière modification : 06/06/2023 17:00 de Chantrein Jean-Mathieu