Using GPUs with Slurm/fr: Difference between revisions

Updating to match new version of source page
No edit summary
(Updating to match new version of source page)
Line 6: Line 6:
   --gpus-per-node=[type:]number
   --gpus-per-node=[type:]number


<div class="mw-translate-fuzzy">
À l'intérieur des crochets, vous pouvez indiquer la quantité et le type de GPU. Pour les types, voyez le tableau dans la section GPU disponibles ci-dessous. Voici deux exemples :
À l'intérieur des crochets, vous pouvez indiquer la quantité et le type de GPU. Pour les types, voyez le tableau dans la section GPU disponibles ci-dessous. Voici deux exemples :
   --gpus-per-node=2
   --gpus-per-node=2
   --gpus-per-node=v100:1
   --gpus-per-node=v100:1
</div>


Sur la première ligne, on demande deux GPU par nœud, peu importe le type de GPU. Sur la deuxième ligne, on demande 1 GPU par nœud, de type V100.
Sur la première ligne, on demande deux GPU par nœud, peu importe le type de GPU. Sur la deuxième ligne, on demande 1 GPU par nœud, de type V100.


<div class="mw-translate-fuzzy">
La forme suivante peut aussi être utilisée
La forme suivante peut aussi être utilisée
   --gres=gpu[[:type]:number]
   --gres=gpu[[:type]:number]
Cette forme est cependant moins récente et ne sera probablement plus prise en charge dans les versions de Slurm à venir. Nous vous recommandons  de la remplacer dans vos scripts par --gpus-per-node.
Cette forme est cependant moins récente et ne sera probablement plus prise en charge dans les versions de Slurm à venir. Nous vous recommandons  de la remplacer dans vos scripts par --gpus-per-node.
</div>


<div class="mw-translate-fuzzy">
Il y a plusieurs autres directives que vous pouvez utiliser pour demander des GPU&nbsp; par exemple --gpus, --gpus-per-socket, --gpus-per-task, --mem-per-gpu, and --ntasks-per-gpu. Voyez la documentation de Slurm sur [https://slurm.schedmd.com/sbatch.html sbatch].  Notre équipe n'a pas testé toutes les combinaisons; si vous n'obtenez pas le résultat voulu, contactez le [[Technical support/fr|soutien technique]].
Il y a plusieurs autres directives que vous pouvez utiliser pour demander des GPU&nbsp; par exemple --gpus, --gpus-per-socket, --gpus-per-task, --mem-per-gpu, and --ntasks-per-gpu. Voyez la documentation de Slurm sur [https://slurm.schedmd.com/sbatch.html sbatch].  Notre équipe n'a pas testé toutes les combinaisons; si vous n'obtenez pas le résultat voulu, contactez le [[Technical support/fr|soutien technique]].
</div>


Pour l'information générale sur l'ordonnancement des tâches, consultez [[Running jobs/fr|Exécuter des tâches]].
Pour l'information générale sur l'ordonnancement des tâches, consultez [[Running jobs/fr|Exécuter des tâches]].
Line 54: Line 60:
|}
|}


<div class="mw-translate-fuzzy">
(*) Le terme ''compute capability'' est utilisé par NVIDIA pour indiquer les fonctionnalités matérielles spécifiques à un GPU particulier et n'a aucun rapport avec la performance des dispositifs. Cet attribut n'est utile que si vous compilez vos propres programmes GPU. Pour plus d'information, voir [[CUDA/fr#Attribut_.22compute_capability.22|la page CUDA]].
(*) Le terme ''compute capability'' est utilisé par NVIDIA pour indiquer les fonctionnalités matérielles spécifiques à un GPU particulier et n'a aucun rapport avec la performance des dispositifs. Cet attribut n'est utile que si vous compilez vos propres programmes GPU. Pour plus d'information, voir [[CUDA/fr#Attribut_.22compute_capability.22|la page CUDA]].
</div>


<div class="mw-translate-fuzzy">
(**) Pour avoir accès aux nœuds V100 à grande mémoire de Graham, utilisez les arguments suivants dans la commande sbatch/salloc&nbsp;: "--constraint=cascade,v100".
(**) Pour avoir accès aux nœuds V100 à grande mémoire de Graham, utilisez les arguments suivants dans la commande sbatch/salloc&nbsp;: "--constraint=cascade,v100".
</div>


== Mist ==
== Mist ==
Line 189: Line 199:
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 198: Line 209:
</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>




[[Category:SLURM]]
[[Category:SLURM]]
38,760

edits