Narval: Difference between revisions
(Problème Globus) |
No edit summary |
||
(25 intermediate revisions by 7 users not shown) | |||
Line 6: | Line 6: | ||
| Disponibilité : depuis octobre 2021 | | Disponibilité : depuis octobre 2021 | ||
|- | |- | ||
| Nœud frontal : '''narval. | | Nœud frontal : '''narval.alliancecan.ca''' | ||
|- | |- | ||
| Collection Globus : '''Compute Canada - Narval''' | | Collection Globus : '''[https://app.globus.org/file-manager?origin_id=a1713da6-098f-40e6-b3aa-034efe8b6e5b Compute Canada - Narval]''' | ||
|- | |- | ||
| Nœud de copie (rsync, scp, sftp,...) : '''narval. | | Nœud de copie (rsync, scp, sftp,...) : '''narval.alliancecan.ca''' | ||
|- | |||
| Portail : https://portail.narval.calculquebec.ca/ | |||
|} | |} | ||
Line 16: | Line 18: | ||
Narval est une grappe hétérogène et polyvalente conçue pour une grande variété de calculs scientifiques de petite et moyenne taille. Narval est située à l'[http://www.etsmtl.ca/ École de technologie supérieure]. Son nom rappelle le [https://fr.wikipedia.org/wiki/Narval narval], un mammifère marin qui a parfois été observé dans les eaux du fleuve Saint-Laurent. | Narval est une grappe hétérogène et polyvalente conçue pour une grande variété de calculs scientifiques de petite et moyenne taille. Narval est située à l'[http://www.etsmtl.ca/ École de technologie supérieure]. Son nom rappelle le [https://fr.wikipedia.org/wiki/Narval narval], un mammifère marin qui a parfois été observé dans les eaux du fleuve Saint-Laurent. | ||
= | ==Particularités== <!--T:3--> | ||
= | |||
Notre politique veut que les nœuds de calcul de Narval n'aient pas accès à l'internet. Pour y faire exception, veuillez joindre le [[Technical_support/fr|soutien technique]] en expliquant ce dont vous avez besoin et pourquoi. Notez que l'outil <code>crontab</code> n'est pas offert. | Notre politique veut que les nœuds de calcul de Narval n'aient pas accès à l'internet. Pour y faire exception, veuillez joindre le [[Technical_support/fr|soutien technique]] en expliquant ce dont vous avez besoin et pourquoi. Notez que l'outil <code>crontab</code> n'est pas offert. | ||
Line 33: | Line 24: | ||
Chaque tâche devrait être d'une durée d’au moins une heure (au moins cinq minutes pour les tâches de test) et vous ne pouvez pas avoir plus de 1000 tâches (en exécution et en attente) à la fois. La durée maximale d'une tâche est de 7 jours (168 heures). | Chaque tâche devrait être d'une durée d’au moins une heure (au moins cinq minutes pour les tâches de test) et vous ne pouvez pas avoir plus de 1000 tâches (en exécution et en attente) à la fois. La durée maximale d'une tâche est de 7 jours (168 heures). | ||
=Stockage= <!--T:5--> | ==Stockage== <!--T:5--> | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 42: | Line 33: | ||
<!--T:7--> | <!--T:7--> | ||
* Cet espace est petit et ne peut pas être agrandi : vous devrez utiliser votre espace <code>project</code> pour les grands besoins en stockage. | * Cet espace est petit et ne peut pas être agrandi : vous devrez utiliser votre espace <code>project</code> pour les grands besoins en stockage. | ||
* | * Petits [[Storage and file management/fr#Quotas_et_politiques|quotas]] fixes par utilisateur | ||
* Il y a une sauvegarde automatique une fois par jour. | * Il y a une sauvegarde automatique une fois par jour. | ||
Line 52: | Line 43: | ||
* Grand espace pour stocker les fichiers temporaires pendant les calculs. | * Grand espace pour stocker les fichiers temporaires pendant les calculs. | ||
* Pas de système de sauvegarde automatique | * Pas de système de sauvegarde automatique | ||
* | * Grands [[Storage and file management/fr#Quotas_et_politiques|quotas]] fixes par utilisateur | ||
* Il y a une [[Scratch_purging_policy/fr | purge automatique]] des vieux fichiers dans cet espace. | * Il y a une [[Scratch_purging_policy/fr | purge automatique]] des vieux fichiers dans cet espace. | ||
Line 61: | Line 52: | ||
<!--T:11--> | <!--T:11--> | ||
* Cet espace est conçu pour le partage de données entre membres d'un groupe et pour le stockage de beaucoup de données. | * Cet espace est conçu pour le partage de données entre membres d'un groupe et pour le stockage de beaucoup de données. | ||
* | * Grands [[Storage and file management/fr#Quotas_et_politiques|quotas]] ajustables par projet | ||
* Il y a une sauvegarde automatique une fois par jour. | * Il y a une sauvegarde automatique une fois par jour. | ||
|} | |} | ||
Line 68: | Line 59: | ||
Au tout début de la présente page, un tableau indique plusieurs adresses de connexion. Pour les transferts de données par [[Globus/fr|Globus]], il faut utiliser le '''Point de chute Globus'''. Par contre, pour les outils comme [[Transferring_data/fr#rsync|rsync]] et [[Transferring_data/fr#SCP|scp]], il faut utiliser l'adresse du '''Nœud de copie'''. | Au tout début de la présente page, un tableau indique plusieurs adresses de connexion. Pour les transferts de données par [[Globus/fr|Globus]], il faut utiliser le '''Point de chute Globus'''. Par contre, pour les outils comme [[Transferring_data/fr#rsync|rsync]] et [[Transferring_data/fr#SCP|scp]], il faut utiliser l'adresse du '''Nœud de copie'''. | ||
=Réseautique haute performance= <!--T:13--> | ==Réseautique haute performance== <!--T:13--> | ||
Le réseau [https://fr.wikipedia.org/wiki/Bus_InfiniBand InfiniBand] [https://www.nvidia.com/en-us/networking/infiniband/qm8700/ HDR de Mellanox] relie tous les nœuds de la grappe. Chaque commutateur de 40 ports HDR (200 Gb/s) permet de connecter ensemble jusqu'à 66 nœuds en HDR100 (100 Gb/s) avec 33 liens HDR divisés en deux (2) par des câbles spéciaux. Les sept (7) liens HDR restants servent à connecter le commutateur d'un cabinet à chacun des sept (7) commutateurs HDR du réseau InfiniBand central. Les îlots de nœuds sont donc connectés avec un facteur de blocage maximum de 33:7 (4.7:1). Par contre, les serveurs de stockage sont branchés avec un facteur de blocage significativement plus bas pour une performance maximale. | Le réseau [https://fr.wikipedia.org/wiki/Bus_InfiniBand InfiniBand] [https://www.nvidia.com/en-us/networking/infiniband/qm8700/ HDR de Mellanox] relie tous les nœuds de la grappe. Chaque commutateur de 40 ports HDR (200 Gb/s) permet de connecter ensemble jusqu'à 66 nœuds en HDR100 (100 Gb/s) avec 33 liens HDR divisés en deux (2) par des câbles spéciaux. Les sept (7) liens HDR restants servent à connecter le commutateur d'un cabinet à chacun des sept (7) commutateurs HDR du réseau InfiniBand central. Les îlots de nœuds sont donc connectés avec un facteur de blocage maximum de 33:7 (4.7:1). Par contre, les serveurs de stockage sont branchés avec un facteur de blocage significativement plus bas pour une performance maximale. | ||
Line 74: | Line 65: | ||
En pratique, les cabinets de Narval contiennent des îlots de 48 ou 56 nœuds CPU réguliers. Il est donc possible d'exécuter des tâches parallèles utilisant jusqu’à 3584 cœurs et une réseautique non bloquante. Pour des tâches plus imposantes ou plus fragmentées sur le réseau, le facteur de blocage est de 4.7:1. L’interconnexion reste malgré tout de haute performance. | En pratique, les cabinets de Narval contiennent des îlots de 48 ou 56 nœuds CPU réguliers. Il est donc possible d'exécuter des tâches parallèles utilisant jusqu’à 3584 cœurs et une réseautique non bloquante. Pour des tâches plus imposantes ou plus fragmentées sur le réseau, le facteur de blocage est de 4.7:1. L’interconnexion reste malgré tout de haute performance. | ||
=Caractéristiques des nœuds= <!--T:15--> | ==Caractéristiques des nœuds== <!--T:15--> | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! nœuds !! cœurs !! mémoire disponible !! CPU !! stockage !! GPU | ! nœuds !! cœurs !! mémoire disponible !! CPU !! stockage !! GPU | ||
|- | |- | ||
| | | 1145 || rowspan="3"|64 || 249G ou 255000M || rowspan="2"|2 x AMD Rome 7532 @ 2.40 GHz 256M cache L3 || rowspan="3"|1 x SSD de 960G || rowspan="3"|- | ||
|- | |- | ||
| 33 || 2009G ou 2057500M | | 33 || 2009G ou 2057500M | ||
|- | |- | ||
| 159 || 48 || 498G ou 510000M || 2 x AMD Milan 7413 @ 2.65 GHz 128M cache L3 || 1 x SSD de 3.84T || 4 x NVidia | | 3 || 4000G ou 4096000M || 2 x AMD Rome 7502 @ 2.50 GHz 128M cache L3 | ||
|- | |||
| 159 || 48 || 498G ou 510000M || 2 x AMD Milan 7413 @ 2.65 GHz 128M cache L3 || 1 x SSD de 3.84T || 4 x NVidia A100SXM4 (mémoire 40G), connectés via NVLink | |||
|} | |} | ||
=Particularités liées aux processeurs AMD= <!--T:16--> | ==Particularités liées aux processeurs AMD== <!--T:16--> | ||
== Ensemble d'instructions pris en charge == | ===Ensemble d'instructions pris en charge=== | ||
La grappe Narval est équipée de processeurs AMD EPYC de 2e et 3e génération qui prennent en charge les instructions [https://fr.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2]. Cet ensemble d'instructions est le même que celui des processeurs Intel que l'on retrouve sur les nœuds de [[Béluga#Caract.C3.A9ristiques_des_n.C5.93uds|Béluga]], [[Cedar/fr#Caract.C3.A9ristiques_des_n.C5.93uds|Cedar]], [[Graham/fr#Caract.C3.A9ristiques_des_n.C5.93uds|Graham]] et [[Niagara/fr#Caract.C3.A9ristiques_des_n.C5.93uds|Niagara]].<br> | La grappe Narval est équipée de processeurs AMD EPYC de 2e et 3e génération qui prennent en charge les instructions [https://fr.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2 AVX2]. Cet ensemble d'instructions est le même que celui des processeurs Intel que l'on retrouve sur les nœuds de [[Béluga#Caract.C3.A9ristiques_des_n.C5.93uds|Béluga]], [[Cedar/fr#Caract.C3.A9ristiques_des_n.C5.93uds|Cedar]], [[Graham/fr#Caract.C3.A9ristiques_des_n.C5.93uds|Graham]] et [[Niagara/fr#Caract.C3.A9ristiques_des_n.C5.93uds|Niagara]].<br> | ||
Line 95: | Line 88: | ||
AVX2 est pris en charge là où les nœuds ont des CPU de type Broadwell alors que les deux ensembles d’instructions (AVX2 et AVX512) le sont là où les CPU sont de type [https://fr.wikipedia.org/wiki/Skylake Skylake] ou [https://en.wikipedia.org/wiki/Cascade_Lake_(microarchitecture Cascade Lake]. Par conséquent, une application compilée dans un nœud avec un CPU Broadwell de Cedar ou Graham, incluant leurs nœuds de connexion, pourra être exécutée sur Narval, mais ne pourra pas être exécutée si elle est compilée sur Béluga ou Niagara, ou dans un nœud Skylake ou Cascade Lake de Cedar ou Graham. Dans ce dernier cas, l’application devra être recompilée (voir ''Compilateurs Intel'' ci-dessous). | AVX2 est pris en charge là où les nœuds ont des CPU de type Broadwell alors que les deux ensembles d’instructions (AVX2 et AVX512) le sont là où les CPU sont de type [https://fr.wikipedia.org/wiki/Skylake Skylake] ou [https://en.wikipedia.org/wiki/Cascade_Lake_(microarchitecture Cascade Lake]. Par conséquent, une application compilée dans un nœud avec un CPU Broadwell de Cedar ou Graham, incluant leurs nœuds de connexion, pourra être exécutée sur Narval, mais ne pourra pas être exécutée si elle est compilée sur Béluga ou Niagara, ou dans un nœud Skylake ou Cascade Lake de Cedar ou Graham. Dans ce dernier cas, l’application devra être recompilée (voir ''Compilateurs Intel'' ci-dessous). | ||
===Compilateurs Intel=== <!--T:17--> | |||
Les compilateurs Intel peuvent très bien compiler des applications pour les processeurs AMD de Narval, et ce, en se limitant aux ensembles d'instructions AVX2 et les plus anciens. Pour ce faire, il faut utiliser l'option <tt>-march=core-avx2</tt> du compilateur Intel, ce qui permet d'obtenir des exécutables qui sont compatibles à la fois avec les processeurs Intel et AMD. | |||
<!--T:21--> | |||
Par contre, si vous avez compilé un code sur un système utilisant des processeurs Intel et que vous avez utilisé une ou des options <tt>-xXXXX</tt>, telle que <tt>-xCORE-AVX2</tt>, les applications compilées ne fonctionneront pas sur Narval, car les compilateurs Intel ajoutent des instructions supplémentaires pour vérifier que le processeur utilisé est un produit Intel. Sur Narval, les options <tt>-xHOST</tt> et <tt>-march=native</tt> sont équivalentes à <tt>-march=pentium</tt> (l'ancien Pentium de 1993) et ne devraient <b>pas</b> être utilisés. | |||
===Environnements logiciels disponibles=== <!--T:18--> | |||
[[Standard software environments/fr|L'environnement logiciel standard <tt>StdEnv/2023</tt>]] est l'environnement par défaut sur Narval. Les anciennes versions (2016 et 2018) ont été volontairement bloquées. Si vous avez besoin d'un logiciel qui n'est disponible que sur une ancienne version de l'environnement standard, nous vous invitons à envoyer une demande à [[Technical support/fr|notre soutien technique]]. | |||
== | ===Bibliothèques BLAS et LAPACK=== <!--T:19--> | ||
La bibliothèque Intel MKL fonctionne sur les processeurs AMD, mais elle n'est pas optimale. Nous favorisons dorénavant l'utilisation de FlexiBLAS. Pour plus de détails, consulter la page [[BLAS and LAPACK/fr|BLAS et LAPACK]]. | |||
<!--T: | ==Suivi de vos tâches== <!--T:25--> | ||
Depuis le [https://portail.narval.calculquebec.ca/ portail], vous pouvez suivre vos tâches de calcul CPU comme GPU <b>en temps réel</b> ou celles passées afin de maximiser l'utilisation des ressources et diminuer vos temps d'attente dans la file. | |||
<!--T:26--> | |||
Vous pourrez notamment visualiser pour une tâche : | |||
* l'utilisation des cœurs de calcul; | |||
* la mémoire utilisée; | |||
* l'utilisation de GPUs. | |||
<!--T:27--> | |||
Il est important d'utiliser les ressources allouées et de rectifier vos demandes lorsque les ressources de calcul sont peu ou pas utilisées. | |||
Par exemple, si vous demander quatre cœurs (CPU) mais n'en utilisez qu'un seul, vous devez ajuster votre fichier de soumission en conséquence. | |||
</translate> | </translate> |
Latest revision as of 18:38, 18 September 2024
Disponibilité : depuis octobre 2021 |
Nœud frontal : narval.alliancecan.ca |
Collection Globus : Compute Canada - Narval |
Nœud de copie (rsync, scp, sftp,...) : narval.alliancecan.ca |
Portail : https://portail.narval.calculquebec.ca/ |
Narval est une grappe hétérogène et polyvalente conçue pour une grande variété de calculs scientifiques de petite et moyenne taille. Narval est située à l'École de technologie supérieure. Son nom rappelle le narval, un mammifère marin qui a parfois été observé dans les eaux du fleuve Saint-Laurent.
Particularités[edit]
Notre politique veut que les nœuds de calcul de Narval n'aient pas accès à l'internet. Pour y faire exception, veuillez joindre le soutien technique en expliquant ce dont vous avez besoin et pourquoi. Notez que l'outil crontab
n'est pas offert.
Chaque tâche devrait être d'une durée d’au moins une heure (au moins cinq minutes pour les tâches de test) et vous ne pouvez pas avoir plus de 1000 tâches (en exécution et en attente) à la fois. La durée maximale d'une tâche est de 7 jours (168 heures).
Stockage[edit]
HOME Système de fichiers Lustre, 40 To d’espace au total |
|
SCRATCH Système de fichiers Lustre, 5.5 Po d’espace au total |
|
PROJECT Système de fichiers Lustre, 19 Po d’espace au total |
|
Au tout début de la présente page, un tableau indique plusieurs adresses de connexion. Pour les transferts de données par Globus, il faut utiliser le Point de chute Globus. Par contre, pour les outils comme rsync et scp, il faut utiliser l'adresse du Nœud de copie.
Réseautique haute performance[edit]
Le réseau InfiniBand HDR de Mellanox relie tous les nœuds de la grappe. Chaque commutateur de 40 ports HDR (200 Gb/s) permet de connecter ensemble jusqu'à 66 nœuds en HDR100 (100 Gb/s) avec 33 liens HDR divisés en deux (2) par des câbles spéciaux. Les sept (7) liens HDR restants servent à connecter le commutateur d'un cabinet à chacun des sept (7) commutateurs HDR du réseau InfiniBand central. Les îlots de nœuds sont donc connectés avec un facteur de blocage maximum de 33:7 (4.7:1). Par contre, les serveurs de stockage sont branchés avec un facteur de blocage significativement plus bas pour une performance maximale.
En pratique, les cabinets de Narval contiennent des îlots de 48 ou 56 nœuds CPU réguliers. Il est donc possible d'exécuter des tâches parallèles utilisant jusqu’à 3584 cœurs et une réseautique non bloquante. Pour des tâches plus imposantes ou plus fragmentées sur le réseau, le facteur de blocage est de 4.7:1. L’interconnexion reste malgré tout de haute performance.
Caractéristiques des nœuds[edit]
nœuds | cœurs | mémoire disponible | CPU | stockage | GPU |
---|---|---|---|---|---|
1145 | 64 | 249G ou 255000M | 2 x AMD Rome 7532 @ 2.40 GHz 256M cache L3 | 1 x SSD de 960G | - |
33 | 2009G ou 2057500M | ||||
3 | 4000G ou 4096000M | 2 x AMD Rome 7502 @ 2.50 GHz 128M cache L3 | |||
159 | 48 | 498G ou 510000M | 2 x AMD Milan 7413 @ 2.65 GHz 128M cache L3 | 1 x SSD de 3.84T | 4 x NVidia A100SXM4 (mémoire 40G), connectés via NVLink |
Particularités liées aux processeurs AMD[edit]
Ensemble d'instructions pris en charge[edit]
La grappe Narval est équipée de processeurs AMD EPYC de 2e et 3e génération qui prennent en charge les instructions AVX2. Cet ensemble d'instructions est le même que celui des processeurs Intel que l'on retrouve sur les nœuds de Béluga, Cedar, Graham et Niagara.
Narval ne prend toutefois pas en charge les instructions AVX512, contrairement aux nœuds de Béluga et Niagara et à certains nœuds de Cedar et de Graham.
AVX2 est pris en charge là où les nœuds ont des CPU de type Broadwell alors que les deux ensembles d’instructions (AVX2 et AVX512) le sont là où les CPU sont de type Skylake ou Cascade Lake. Par conséquent, une application compilée dans un nœud avec un CPU Broadwell de Cedar ou Graham, incluant leurs nœuds de connexion, pourra être exécutée sur Narval, mais ne pourra pas être exécutée si elle est compilée sur Béluga ou Niagara, ou dans un nœud Skylake ou Cascade Lake de Cedar ou Graham. Dans ce dernier cas, l’application devra être recompilée (voir Compilateurs Intel ci-dessous).
Compilateurs Intel[edit]
Les compilateurs Intel peuvent très bien compiler des applications pour les processeurs AMD de Narval, et ce, en se limitant aux ensembles d'instructions AVX2 et les plus anciens. Pour ce faire, il faut utiliser l'option -march=core-avx2 du compilateur Intel, ce qui permet d'obtenir des exécutables qui sont compatibles à la fois avec les processeurs Intel et AMD.
Par contre, si vous avez compilé un code sur un système utilisant des processeurs Intel et que vous avez utilisé une ou des options -xXXXX, telle que -xCORE-AVX2, les applications compilées ne fonctionneront pas sur Narval, car les compilateurs Intel ajoutent des instructions supplémentaires pour vérifier que le processeur utilisé est un produit Intel. Sur Narval, les options -xHOST et -march=native sont équivalentes à -march=pentium (l'ancien Pentium de 1993) et ne devraient pas être utilisés.
Environnements logiciels disponibles[edit]
L'environnement logiciel standard StdEnv/2023 est l'environnement par défaut sur Narval. Les anciennes versions (2016 et 2018) ont été volontairement bloquées. Si vous avez besoin d'un logiciel qui n'est disponible que sur une ancienne version de l'environnement standard, nous vous invitons à envoyer une demande à notre soutien technique.
Bibliothèques BLAS et LAPACK[edit]
La bibliothèque Intel MKL fonctionne sur les processeurs AMD, mais elle n'est pas optimale. Nous favorisons dorénavant l'utilisation de FlexiBLAS. Pour plus de détails, consulter la page BLAS et LAPACK.
Suivi de vos tâches[edit]
Depuis le portail, vous pouvez suivre vos tâches de calcul CPU comme GPU en temps réel ou celles passées afin de maximiser l'utilisation des ressources et diminuer vos temps d'attente dans la file.
Vous pourrez notamment visualiser pour une tâche :
- l'utilisation des cœurs de calcul;
- la mémoire utilisée;
- l'utilisation de GPUs.
Il est important d'utiliser les ressources allouées et de rectifier vos demandes lorsque les ressources de calcul sont peu ou pas utilisées. Par exemple, si vous demander quatre cœurs (CPU) mais n'en utilisez qu'un seul, vous devez ajuster votre fichier de soumission en conséquence.