Graham/fr: Difference between revisions

Jump to navigation Jump to search
Updating to match new version of source page
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 2: Line 2:
<languages />
<languages />


<div class="mw-translate-fuzzy">
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 12: Line 13:
| Nœud de copie (rsync, scp, sftp,...) : '''gra-dtn1.alliancecan.ca'''
| Nœud de copie (rsync, scp, sftp,...) : '''gra-dtn1.alliancecan.ca'''
|}
|}
</div>


Graham est une grappe hétérogène adaptée pour une grande variété de types de tâches; elle est située à l'Université de Waterloo. Son nom rappelle [https://en.wikipedia.org/wiki/Wes_Graham Wes Graham], premier directeur du ''Computing Centre'' de l'Université de Waterloo.
Graham est une grappe hétérogène adaptée pour une grande variété de types de tâches; elle est située à l'Université de Waterloo. Son nom rappelle [https://en.wikipedia.org/wiki/Wes_Graham Wes Graham], premier directeur du ''Computing Centre'' de l'Université de Waterloo.
Line 37: Line 39:
</pre>
</pre>


<div class="mw-translate-fuzzy">
Avant de mettre fin au lien internet, nous communiquerons avec la personne-ressource pour vérifier si la règle est toujours nécessaire.
Avant de mettre fin au lien internet, nous communiquerons avec la personne-ressource pour vérifier si la règle est toujours nécessaire.
</div>


* Crontab n'est pas offert sur Graham.
* Crontab n'est pas offert sur Graham.
Line 85: Line 89:
=Visualisation=
=Visualisation=


<div class="mw-translate-fuzzy">
Graham offre des nœuds dédiés pour la visualisation qui permettent uniquement les connexions VNC (''gra-vdi.alliancecan.ca''). Pour l'information sur comment les utiliser, voyez la page [[VNC/fr|VNC]].
Graham offre des nœuds dédiés pour la visualisation qui permettent uniquement les connexions VNC (''gra-vdi.alliancecan.ca''). Pour l'information sur comment les utiliser, voyez la page [[VNC/fr|VNC]].
</div>


=Caractéristiques des nœuds=
=Caractéristiques des nœuds=
Line 117: Line 123:
La plupart des applications fonctionneront soit avec des nœuds Broadwell, Skylake ou Cascade Lake et les différences en termes de performance devraient être minimes à comparer avec les temps d'attente. Nous recommandons donc de ne pas sélectionner un type de nœud particulier pour vos tâches. Si nécessaire, pour les tâches avec CPU il n'y a que deux contraintes disponibles; utilisez <code>--constraint=broadwell</code> ou <code>--constraint=cascade</code> (voir [[Running jobs/fr#Particularités_de_certaines_grappes|comment spécifier l'architecture CPU]]).
La plupart des applications fonctionneront soit avec des nœuds Broadwell, Skylake ou Cascade Lake et les différences en termes de performance devraient être minimes à comparer avec les temps d'attente. Nous recommandons donc de ne pas sélectionner un type de nœud particulier pour vos tâches. Si nécessaire, pour les tâches avec CPU il n'y a que deux contraintes disponibles; utilisez <code>--constraint=broadwell</code> ou <code>--constraint=cascade</code> (voir [[Running jobs/fr#Particularités_de_certaines_grappes|comment spécifier l'architecture CPU]]).


<div class="mw-translate-fuzzy">
Pour le stockage local sur nœud, il est recommandé d'utiliser le répertoire temporaire <tt>$SLURM_TMPDIR</tt> généré par [[Running_jobs/fr|Slurm]]. Ce répertoire avec son contenu est supprimé à la fin de l'exécution de la tâche.
Pour le stockage local sur nœud, il est recommandé d'utiliser le répertoire temporaire <tt>$SLURM_TMPDIR</tt> généré par [[Running_jobs/fr|Slurm]]. Ce répertoire avec son contenu est supprimé à la fin de l'exécution de la tâche.
</div>


Remarquez que la quantité de mémoire disponible est moindre que la valeur arrondie suggérée par la configuration matérielle. Par exemple, les nœuds de type base 128G ont effectivement 128Gio de mémoire vive, mais une certaine quantité est utilisée en permanence par le noyau (''kernel'') et le système d'exploitation. Pour éviter la perte de temps encourue par le ''swapping'' ou le ''paging'', l'ordonnanceur n'allouera jamais une tâche dont les exigences dépassent la quantité de mémoire disponible indiquée dans le tableau ci-dessus.
Remarquez que la quantité de mémoire disponible est moindre que la valeur arrondie suggérée par la configuration matérielle. Par exemple, les nœuds de type base 128G ont effectivement 128Gio de mémoire vive, mais une certaine quantité est utilisée en permanence par le noyau (''kernel'') et le système d'exploitation. Pour éviter la perte de temps encourue par le ''swapping'' ou le ''paging'', l'ordonnanceur n'allouera jamais une tâche dont les exigences dépassent la quantité de mémoire disponible indiquée dans le tableau ci-dessus.
Line 139: Line 147:
* les deux autres nœuds ont une interconnexion NVLINK à large bande passante.
* les deux autres nœuds ont une interconnexion NVLINK à large bande passante.


'''Les nœuds sont disponibles à tous les utilisateurs pour des durées d'exécution maximales de 7 jours'''.   
<div class="mw-translate-fuzzy">
'''Les nœuds sont disponibles à tous les utilisateurs pour des durées d'exécution maximales de 7 jours'''.
</div>  


Dans l'exemple suivant, le script soumet une tâche pour un des nœuds de 8 GPU. La commande <code>module load</code> fait en sorte que les modules compilés pour l'architecture Skylake soient utilisés. Remplacez ''nvidia-smi'' par la commande que vous voulez lancer.
Dans l'exemple suivant, le script soumet une tâche pour un des nœuds de 8 GPU. La commande <code>module load</code> fait en sorte que les modules compilés pour l'architecture Skylake soient utilisés. Remplacez ''nvidia-smi'' par la commande que vous voulez lancer.


<div class="mw-translate-fuzzy">
IMPORTANT : Déterminez le nombre de CPU à demander en appliquant un ratio CPU/GPU de 3.5 ou moins sur des nœuds de 28 cœurs. Par exemple, si votre tâche doit utiliser 4 GPU, vous devriez demander '''au plus 14 cœurs CPU''' et pour utiliser 1 GPU, demander '''au plus 3 cœurs CPU'''. Les utilisateurs peuvent faire exécuter quelques tâches de test de moins d'une heure pour connaître le niveau de performance du code.
IMPORTANT : Déterminez le nombre de CPU à demander en appliquant un ratio CPU/GPU de 3.5 ou moins sur des nœuds de 28 cœurs. Par exemple, si votre tâche doit utiliser 4 GPU, vous devriez demander '''au plus 14 cœurs CPU''' et pour utiliser 1 GPU, demander '''au plus 3 cœurs CPU'''. Les utilisateurs peuvent faire exécuter quelques tâches de test de moins d'une heure pour connaître le niveau de performance du code.
</div>


Les deux plus récents nœuds Volta ont 40 cœurs et le nombre de cœurs par GPU demandé doit être ajusté à la hausse selon le cas; une tâche peut par exemple utiliser 5 cœurs CPU par GPU. Ces nœuds sont aussi interconnectés. Si vous voulez utiliser un de ces nœuds, il faut ajouter au script de soumission de la tâche le paramètre <tt>constraint=cascade,v100</tt>.
Les deux plus récents nœuds Volta ont 40 cœurs et le nombre de cœurs par GPU demandé doit être ajusté à la hausse selon le cas; une tâche peut par exemple utiliser 5 cœurs CPU par GPU. Ces nœuds sont aussi interconnectés. Si vous voulez utiliser un de ces nœuds, il faut ajouter au script de soumission de la tâche le paramètre <tt>constraint=cascade,v100</tt>.
35,893

edits

Navigation menu