Narval
Disponibilité : octobre 2021 |
Nœud frontal : sera bientôt annoncé |
Point de chute Globus : sera bientôt annoncé |
Nœud de copie (rsync, scp, sftp,...) : sera bientôt annoncé |
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 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, ~100 To d’espace au total |
|
SCRATCH Système de fichiers Lustre, ~5 Po d’espace au total |
|
PROJECT Système de fichiers Lustre, ~15 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 |
---|---|---|---|---|---|
1109 | 64 | ~256G | 2 x AMD Rome 7532 @ 2.40 GHz 256M cache L3 | 1 x SSD de 960G | - |
33 | ~2048G | ||||
158 | 48 | ~512G | 2 x AMD Milan 7413 @ 2.65 GHz 128M cache L3 | 1 x SSD de 3.84T | 4 x NVidia A100 (mémoire 40G) |
Particularités liées aux processeurs AMD[edit]
Ensemble d'instructions pris en charge[edit]
Narval est équipé 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. Tout comme les processeurs AMD de Narval, les processeurs Intel de la génération Haswell sont, eux aussi, limités aux instructions AVX2 et les plus anciennes. Ainsi, une application compilée sur les nœuds Broadwell de Cedar et Graham devrait fonctionner sur Narval. Si non, une recompilation sera nécessaire avec les bons paramètres d'architecture (voir la prochaine section).
Malheureusement, les processeurs AMD de Narval ne sont pas compatibles avec l'ensemble d'instructions AVX512 des processeurs Intel (à partir de la génération Skylake) que l'on retrouve sur les nœuds de Béluga et Niagara, de même que sur les nœuds les plus récents de Cedar et Graham. Par conséquent, les applications compilées sur ces nœuds Intel relativement récents ne fonctionneront fort probablement pas sur Narval. Une recompilation sera sûrement nécessaire (voir la prochaine section).
Compilation avec le compilateur Intel[edit]
Les compilateurs Intel peuvent compiler du code pour les processeurs AMD en utilisant l'ensemble d'instructions AVX2. Par contre, si vous avez compilé un code sur un système utilisant des processeurs Intel, et que vous avez utilisé les options -xXXXX, tels que -xCORE-AVX2, ceux-ci ne fonctionneront pas, car les compilateurs Intel ajoutent des instructions pour vérifier que le CPU utilisé est produit par Intel. Afin d'obtenir des exécutables qui sont compatibles à la fois avec les processeurs Intel et AMD, il faut plutôt utiliser l'option -march=core-avx2. Cependant l'option -xHOST est équivalent à -march=core-avx2 sur Narval.
Environnements logiciels disponibles[edit]
L'environnement logiciel standard StdEnv/2020 est l'environnement par défaut sur Narval. Les anciennes versions 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 à contacter 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 étudions présentement l'option d'utiliser la bibliothèque FlexiBLAS pour l'installation de prochaines versions de logiciel, afin de pouvoir changer dynamiquement l'implémentation de BLAS et LAPACK qui est utilisée, en fonction du vendeur du processeur. Si vous croyez que le code que vous exécutez est particulièrement sensible à la performance de BLAS et LAPACK, nous vous invitons à contacter notre soutien technique.