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 | ||
gpu:utilisation [2021/02/22 17:29] montap01 [Documentations] |
gpu:utilisation [2023/01/03 15:45] (Version actuelle) montap01 [Eviter la pré-emption] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~SLIDESHOW yatil~~ | ~~SLIDESHOW yatil~~ | ||
- | ====== Utilisation | + | ====== Utilisation |
- | Cet article donne les instructions pour utiliser | + | Cet article donne les instructions pour utiliser |
Nous ne traitons pas ici du modèle de programmation avec les GPU, la littérature disponible sur Internet est conséquente et suffisante. | Nous ne traitons pas ici du modèle de programmation avec les GPU, la littérature disponible sur Internet est conséquente et suffisante. | ||
- | ===== Noeud GPU ===== | + | ===== Noeuds |
- | Le cluster comporte | + | Le cluster comporte |
+ | * ils sont regroupés dans une partition commune nommée '' | ||
+ | * les GPU disponibles sont des NVidia K20, K40m et GTX1080Ti (voir [[: | ||
+ | * certains nœuds font aussi partie de // | ||
+ | |||
+ | La section suivante détaille comment sélectionner le type de GPU désiré via //slurm//, ainsi que la pré-emption. | ||
+ | |||
+ | ===== Slurm avec les GPU ===== | ||
+ | ==== Exemple de batch Slurm ==== | ||
+ | Vous devez donner le nom de la partition ('' | ||
+ | |||
+ | Pour demander une seule GPU : | ||
+ | < | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Pour demander **2 GPU** | ||
+ | < | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | ==== Pour demander un type de GPU spécifique ==== | ||
+ | Comme nous l' | ||
+ | Si vous voulez explicitement utiliser tel ou tel //type// de carte, précisez-le : | ||
+ | < | ||
+ | # | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | ==== Eviter la pré-emption ==== | ||
+ | Seul le noeud commun '' | ||
+ | |||
+ | |||
+ | ===== Calcul GPU et OpenMP / MPI ===== | ||
+ | Sur noeud GPU, vous pouvez utiliser en plus des GPU du parallélisme " | ||
+ | |||
+ | ===== Démarrer un shell interactif ===== | ||
+ | Vous voudrez peut-être tester un code de façon interactive avant de soumettre de gros batchs. Cependant, le noeud frontal ne dispose pas de carte GPU... Vous pouvez demander à slurm l' | ||
+ | srun --partition=gpu --gres=gpu: | ||
+ | |||
+ | Ajustez les ressources (nombre de GPU, nombre de taches ou de processeurs, | ||
===== Environnement de développement ===== | ===== Environnement de développement ===== | ||
Ligne 19: | Ligne 61: | ||
* 10.0 | * 10.0 | ||
* 11.2 | * 11.2 | ||
- | |||
- | Pour information, | ||
Pour l' | Pour l' | ||
- | module load nvidia/ | + | module load nvidia/ |
+ | |||
+ | ==== Compatibilité des versions ==== | ||
+ | * CUDA 11.2 ne supporte plus la compilation pour architecture Kepler générique ('' | ||
+ | * CUDA 10 ne supporte pas GCC > 7 | ||
+ | * | ||
==== Compilation ==== | ==== Compilation ==== | ||
La compilation d'un programme avec CUDA se fait sur le nœud frontal, avec les compilateurs CUDA ('' | La compilation d'un programme avec CUDA se fait sur le nœud frontal, avec les compilateurs CUDA ('' | ||
Ligne 30: | Ligne 75: | ||
==== Documentations ==== | ==== Documentations ==== | ||
- | Les documentations sont disponibles | + | Les documentations sont disponibles sur le site de NVidia, par exemple |
- | * http:// | + | |
- | * http:// | + | |
- | + | ||
- | Ou sur le site de NVidia : | + | |
* https:// | * https:// | ||
* https:// | * https:// | ||
- | ===== Slurm et GPU ===== | ||
- | |||
- | ==== Partition GPU ==== | ||
- | Le noeud GPU est dans une // | ||
- | |||
- | Le fait que la partition soit différente ne vous permet pas d' | ||
- | |||
- | Cette partition possède les caractéristiques suivantes : | ||
- | * < | ||
- | * le temps maximal d' | ||
- | |||
- | ==== Calcul GPU et OpenMP / MPI ==== | ||
- | Sur le noeud GPU, vous pouvez utiliser en plus des GPU du parallélisme " | ||
- | |||
- | ==== Exemple de batch Slurm ==== | ||
- | Pour placer un job sur le noeud GPU, vous devez donner le nom de la partition '' | ||
- | |||
- | Pour demander une seule GPU : | ||
- | < | ||
- | # | ||
- | # | ||
- | </ | ||
- | |||
- | Pour demander **2 GPU** | ||
- | < | ||
- | # | ||
- | # | ||
- | </ | ||