Using GPUs with Slurm/fr: Difference between revisions

Jump to navigation Jump to search
Updating to match new version of source page
No edit summary
(Updating to match new version of source page)
Line 29: Line 29:
|}
|}


<div class="mw-translate-fuzzy">
== Comment indiquer le type de GPU à utiliser ==
== Comment indiquer le type de GPU à utiliser ==
Plusieurs types de GPU sont disponibles sur la plupart des grappes. Pour indiquer le type de GPU à utiliser, ajoutez l'option appropriée, selon la grappe.  
Plusieurs types de GPU sont disponibles sur la plupart des grappes. Pour indiquer le type de GPU à utiliser, ajoutez l'option appropriée, selon la grappe.
</div>


=== Cedar ===
=== Cedar ===
Line 60: Line 62:
   #SBATCH --gres=gpu:t4:1
   #SBATCH --gres=gpu:t4:1


<div class="mw-translate-fuzzy">
Par défaut, toutes les tâches sur GPU seront exécutées sur des P100.
Par défaut, toutes les tâches sur GPU seront exécutées sur des P100.
</div>


<div class="mw-translate-fuzzy">
=== Béluga ===
=== Béluga ===
Comme il n'y a qu'un type de GPU, aucune option n'est nécessaire.  
Comme il n'y a qu'un type de GPU, aucune option n'est nécessaire.
</div>


<div class="mw-translate-fuzzy">
=== Hélios ===
=== Hélios ===
Pour demander un K20 :
Pour demander un K20 :
</div>


   #SBATCH --gres=gpu:k20:1
   #SBATCH --gres=gpu:k20:1
Line 128: Line 136:
Si votre application peut utiliser efficacement un nœud entier et ses GPU associés, vous pouvez probablement réduire le temps d'attente si vous demandez un nœud entier. Utilisez les scripts suivants comme modèle.  
Si votre application peut utiliser efficacement un nœud entier et ses GPU associés, vous pouvez probablement réduire le temps d'attente si vous demandez un nœud entier. Utilisez les scripts suivants comme modèle.  


<div class="mw-translate-fuzzy">
=== Ordonnancement d'un nœud GPU pour Graham ===
=== Ordonnancement d'un nœud GPU pour Graham ===
{{File
{{File
Line 142: Line 151:
nvidia-smi
nvidia-smi
}}
}}
</div>


<div class="mw-translate-fuzzy">
=== Ordonnancement d'un nœud GPU P100 pour Cedar ===
=== Ordonnancement d'un nœud GPU P100 pour Cedar ===
{{File
{{File
Line 158: Line 169:
nvidia-smi
nvidia-smi
}}
}}
</div>


<div class="mw-translate-fuzzy">
=== Ordonnancement d'un nœud P100-16G de Cedar ===
=== Ordonnancement d'un nœud P100-16G de Cedar ===
</div>


<div class="mw-translate-fuzzy">
Sur [[Cedar/fr|Cedar]] se trouvent un groupe de nœuds particulier qui ont chacun quatre cartes Tesla P100 16Go, alors que les autres GPU P100 sont de 12Go et les GPU V100 de 32Go.
Sur [[Cedar/fr|Cedar]] se trouvent un groupe de nœuds particulier qui ont chacun quatre cartes Tesla P100 16Go, alors que les autres GPU P100 sont de 12Go et les GPU V100 de 32Go.
Les GPU dans les nœuds P100L utilisent le même connecteur PCI, ce qui fait que la latence dans les communications entre GPU est plus faible; cependant, la bande passante entre CPU et GPU est plus basse que dans le cas des nœuds GPU réguliers. De plus, la mémoire vive des nœuds est de 256Go.
Les GPU dans les nœuds P100L utilisent le même connecteur PCI, ce qui fait que la latence dans les communications entre GPU est plus faible; cependant, la bande passante entre CPU et GPU est plus basse que dans le cas des nœuds GPU réguliers. De plus, la mémoire vive des nœuds est de 256Go.
Pour utiliser ces nœuds, il faut demander des nœuds entiers et indiquer <code>--gres=gpu:p100l:4</code>. Le temps d'exécution maximal pour les tâches sur GPU P100L est de 28 jours.
Pour utiliser ces nœuds, il faut demander des nœuds entiers et indiquer <code>--gres=gpu:p100l:4</code>. Le temps d'exécution maximal pour les tâches sur GPU P100L est de 28 jours.
</div>


<div class="mw-translate-fuzzy">
<div class="mw-translate-fuzzy">
Line 191: Line 207:
L'identifiant du GPU est calculé en soustrayant 1 de l'identifiant de la fente (''slot''), représenté par {%}. L'identifiant de la tâche est représenté par {#}, avec des valeurs partant de 1.
L'identifiant du GPU est calculé en soustrayant 1 de l'identifiant de la fente (''slot''), représenté par {%}. L'identifiant de la tâche est représenté par {#}, avec des valeurs partant de 1.


<div class="mw-translate-fuzzy">
Le fichier params.input devrait contenir les paramètres sur des lignes distinctes, comme suit&nbsp;:
Le fichier params.input devrait contenir les paramètres sur des lignes distinctes, comme suit&nbsp;:
<pre>
<pre>
Line 200: Line 217:
</pre>
</pre>
Vous pouvez ainsi soumettre plusieurs tâches. Le paramètre <code>-j4</code> fait en sorte que GNU Parallel exécutera quatre tâches concurremment en lançant une tâche aussitôt que la précédente est terminée. Pour éviter que deux tâches se disputent le même GPU, utilisez CUDA_VISIBLE_DEVICES.
Vous pouvez ainsi soumettre plusieurs tâches. Le paramètre <code>-j4</code> fait en sorte que GNU Parallel exécutera quatre tâches concurremment en lançant une tâche aussitôt que la précédente est terminée. Pour éviter que deux tâches se disputent le même GPU, utilisez CUDA_VISIBLE_DEVICES.
</div>
38,789

edits

Navigation menu