diff --git a/docs/HOWTO/hours_request.md b/docs/HOWTO/hours_request.md index 04184087e..273cbb5a6 100644 --- a/docs/HOWTO/hours_request.md +++ b/docs/HOWTO/hours_request.md @@ -72,3 +72,7 @@ Les règles exactes de comptabilité sur Zen sont encore en cours de développem ::: Sur Zen la comptabilisation se fait en heures CPU. Pour réserver un nœud complet, le nombre d'heures à demander correspond à 128 fois le nombre d'heures de calcul. + +## Arctic (CPU et GPU) + +Qu'un travail exploite des CPU ou des GPU, sa consommation de ressource décomptée est le nombdre d'heures.cœurs qu'il réserve : (cœurs de CPU) x (durée de temps elapsed). diff --git a/docs/code_form/arctic/_category_.json b/docs/code_form/arctic/_category_.json new file mode 100644 index 000000000..6bd05d964 --- /dev/null +++ b/docs/code_form/arctic/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Arctic", + "position": 6 +} diff --git a/docs/code_form/arctic/cgu.md b/docs/code_form/arctic/cgu.md new file mode 100644 index 000000000..72e28e968 --- /dev/null +++ b/docs/code_form/arctic/cgu.md @@ -0,0 +1,8 @@ +--- +title: "CGU" +sidebar_position: 8 +--- + +# Conditions Générales d'Utilisation des ressources de calcul du Criann + +Tout utilisateur d'Arctic doit lire et se conformer aux [CGU des ressources de calcul du Criann](https://www.criann.fr/cgu-calcul/) diff --git a/docs/code_form/arctic/connexion.md b/docs/code_form/arctic/connexion.md new file mode 100644 index 000000000..acaf1e92c --- /dev/null +++ b/docs/code_form/arctic/connexion.md @@ -0,0 +1,15 @@ +--- +title: "Se connecter à Arctic" +sidebar_position: 3 +--- + +# Comment se connecter à Arctic + +La connexion s'effectue en SSH vers la frontale de nom **arctic.criann.fr** + +**Syntaxe en ligne de commande** : `ssh -l monlogin arctic.criann.fr` (en remplaçant `monlogin` par votre identifiant). + +Les environnements Linux et Mac intègrent nativement le protocole SSH via un terminal. Si vous êtes sous environnement Windows, nous vous recommandons d'utiliser le logiciel [MobaXTerm](https://mobaxterm.mobatek.net/) qui vous apportera un environnement de travail complet basé du protocole ssh (export d'écran, transfert de fichiers). + +Lire la documentation de bonnes pratiques de [sécurité](https://services.criann.fr/services/hpc/cluster-austral/guide/security/) dans la gestion des moyens de connexion. + diff --git a/docs/code_form/arctic/description.md b/docs/code_form/arctic/description.md new file mode 100644 index 000000000..ab263be43 --- /dev/null +++ b/docs/code_form/arctic/description.md @@ -0,0 +1,20 @@ +--- +title: "Description" +sidebar_position: 1 +--- + +# L'architecture d'Arctic + +## Architecture globale +Le cluster hébergeant Arctic est une solution HPE : +- Réseau d'interconnexion SlingShot 11 à 200 Gbit/s (1 NIC par nœud de calcul fin (purement CPU), 1 NIC par nœud de calcul à GPU AMD, 3 ou 4 NIC par nœud de calcul à GPU NVIDIA) +- Systeme de fichiers parallèle Lustre +- Stockage : environ 2 Po d'espace disque (`/home`, `/dlocal`, `/soft`), dont : + - environ 1 Po en technologie Flash + - environ 1 Po en technologie disque mécanique + +## Sous-ensembles d'architecture de nœuds de calcul +- 84 nœuds de calcul bi-socket AMD EPYC 9654 (Genoa, 96-Core par socket à 2,4 GHz) dotés chacun de 768 (24x 32) Go de RAM DDR5 à 4800 MHz +- 11 nœuds de calcul bi-socket AMD Epyc 7543 (Milan, 32-Core par socket à 2,8 GHz, 512 Go de RAM DDR4 à 3200 MHz), dotés chacun de 8 cartes **GPU NVIDIA A100** (8 unités de traitement GPU interconnectés par NVLink, 80 Go de mémoire HBM2e embarquée par unité) +- 2 nœuds de calcul bi-sockets Intel Xeon 8558 (48-Core par socket à 2,1 GHz, 2 To de RAM DDR5 à 5600 MHz), dotés chacun de 8 cartes **GPU NVIDIA H200** (8 unités de traitement GPU interconnectés par NVLink, **141 Go de mémoire HBM3e** embarquée par unité) +- 2 nœuds de calcul mono-socket AMD Epyc 7543P (Milan, 32-Core à 2,8 GHz, 256 Go de RAM DDR4 à 3200 MHz), dotés chacun de 4 cartes **GPU AMD MI210** (64 Go de mémoire HBM2e embarquée par unité) diff --git a/docs/code_form/arctic/index.md b/docs/code_form/arctic/index.md new file mode 100644 index 000000000..a7d702eb4 --- /dev/null +++ b/docs/code_form/arctic/index.md @@ -0,0 +1,21 @@ +--- +title: "Arctic, multi-architectures" +--- +Parmi les entités de service « Code formation » de MesoNET, Arctic est matériellement hébergée par le cluster HPC régional (Austral) du mésocentre de Normandie, Criann. + +Le service est accessible à des projets d'enseignement, de formation ou de développement d'application de recherche en IA ou HPC. + +En fonction de la nature d'un projet et du profil de ses applications, différents sous-ensembles d'architecture (voir [Description](./description.md) et [Environnements logiciels](./logiciels.md)) peuvent être ciblés ou réservés (cas de TP d'enseignement) : ressources purement CPU (AMD Genoa), ressources GPU AMD MI210, GPU NVIDIA A100 ou H200. + +Le [guide d'utilisation d'Austral](https://services.criann.fr/services/hpc/cluster-austral/guide/) complète celui d'Arctic (voir la section [travaux](./jobs.md) d'Arctic pour les partitions Slurm qui lui sont propres). + +## Demande d'accès au service +La [documentation générale d'accès à MesoNET](https://www.mesonet.fr/documentation/user-documentation/acces/portail) fournit les informations pour la demande d'accès au service, puis de dépôt d'un projet scientifique. + +Tout utilisateur d'Arctic doit lire et se conformer aux [CGU des ressources de calcul du Criann](https://www.criann.fr/cgu-calcul/). + +:::info +La section [profils d'utilisation](./profils.md) doit être consultée par un porteur de projet qui dépose une demande pour Arctic : le formulaire de description scientifique doit préciser le type d'architecture qu'il cible. Pour des TP d'enseignement avec réservation par Slurm pour un groupe, préciser l'architecture, les dates, créneaux horaires et modalités d'accès (ssh ou Jupyterhub). +::: + +En cas de besoin d'informations complémentaires sur le service Arctic, écrire à l'adresse du [support de MesoNET](mailto:support@mesonet.fr). diff --git a/docs/code_form/arctic/jobs.md b/docs/code_form/arctic/jobs.md new file mode 100644 index 000000000..df2ca5d88 --- /dev/null +++ b/docs/code_form/arctic/jobs.md @@ -0,0 +1,55 @@ +--- +title: "Lancer un calcul" +sidebar_position: 6 +--- + +# Lancer un calcul sur Arctic + +## Commandes de Slurm +| Action | Commande | +| -------------------------------------------------------------------------------------------- | -------------------------------------| +| Caractéristiques des partitions (classes) | `sinfo` | +| Soumettre un travail | `sbatch slurm_script.sl` | +| Lister l'ensemble des travail | `squeue` | +| Lister ses propres travaux | `squeue --me` | +| Affichage des caractéristiques d'un travail | `scontrol show job job_id` | +| Prévision d'horaire de passage d'un travail en file d'attente | `squeue --start --job job_id` | +| Prévision d'horaire de passage de ses propres travaux | `squeue --me --start` | +| Vérification de la syntaxe et prévision d'horaire de passage d'un travail, sans le soumettre | `sbatch --test-only slurm_script.sl` | +| Tuer un travail | `scancel job_id` | + +## Modèles de script +Les modèles de script sont fournis dans un répertoire `/soft/slurm/Arctic_Modeles_scripts/` + +## Les partitions (classes de soumission) +La parition Slurm est à spécifier par l'utilisateur dans son script. + +| Partition | Durée maximale | Limites par calcul +| ------------ | -------------- |------------------------------------------------------- | +| **ar_mig** | 8 h | 4 cœurs, 1 instance de GPU NVIDIA A100 partitionné en MIG | +| **ar_a100** | 8 h | 16 cœurs, 1 GPU NVIDIA A100 | +| **ar_h200** | 8 h | 24 cœurs, 1 GPU NVIDIA H200 | +| **ar_mi210** | 1 h | 16 cœurs, 1 GPU AMD MI210 | +| **ar_fin** | 1 h | 384 cœurs (2 nœuds de calcul purs CPU, AMD Genoa) | + +## Domaine IA - deep learning +Lire sa [page consacrée](https://services.criann.fr/services/hpc/cluster-austral/guide/ia-deep-learning) et sa section **Utilisation** (les partitions Slurm pour GPU NVIDIA mentionnées sur ce lien sont à remplacer par celles du tableau ci-dessus). + +## GPU partitionnés +La partition `ar_mig` est associée à un nœud de calcul dont les GPU NVIDIA A100 sont partitionnés par la technologie MIG (Multi-Instance GPU). + +Différentes tailles d'instances sont disponibles (SM : Streaming Multiprocessor, TC : Tensor Core) : + - 10 devices a100_1g.10gb avec 10 GB de Mémoire, 14 SM et 56 TC + - 17 devices a100_2g.20gb avec 20 GB de Mémoire, 28 SM et 108 TC + - 4 devices a100_3g.40gb avec 40 GB de Mémoire, 42 SM et 164 TC + +Pour utiliser l'un de ces devices dans vos calculs il faut : + - cibler la partition `ar_mig` avec l'option `--partition ar_mig` de sbatch + - préciser le type de device souhaité avec l'option `--gres` de sbatch : + - `--gres=gpu:a100_1g.10gb` pour l'architecture a100_1g.10gb + - `--gres=gpu:a100_2g.20gb` pour l'architecture a100_2g.20gb + - `--gres=gpu:a100_3g.40gb` pour l'architecture a100_3g.40gb + +Un exemple complet basé sur le tutoriel mnist pour PyTorch est disponible sur Arctic, dans le répertoire : + +`/soft/slurm/Arctic_Modeles_scripts/pytorch-mig/` diff --git a/docs/code_form/arctic/jupyter.md b/docs/code_form/arctic/jupyter.md new file mode 100644 index 000000000..c0fca9452 --- /dev/null +++ b/docs/code_form/arctic/jupyter.md @@ -0,0 +1,7 @@ +--- +title: "Service Jupyterhub" +sidebar_position: 7 +--- + +# Service Jupyterhub +Se référer à la documentation d'accès au [service Jupyterhub](https://services.criann.fr/services/hpc/cluster-austral/guide/jupyter) d'Arctic. diff --git a/docs/code_form/arctic/logiciels.md b/docs/code_form/arctic/logiciels.md new file mode 100644 index 000000000..50545d311 --- /dev/null +++ b/docs/code_form/arctic/logiciels.md @@ -0,0 +1,32 @@ +--- +title: "Environnements logiciels" +sidebar_position: 5 +--- + +# Environnements logiciels d'Arctic +## IA - Deep Learning +Les logiciels sont installés sous environnements python3, pour l'architecture des GPU NVIDIA d'Arctic (A100 et H200) : +- Frameworks de deep learning **PyTorch** et **TensorFlow** +- Framework de machine learning **scikit-learn** +- Outils de traitement d'image **OpenCV** et **scikit-image** +- Outils d'analyse de données **pandas** + +Une [page dédiée](https://services.criann.fr/services/hpc/cluster-austral/guide/ia-deep-learning/) recense les différentes versions et leurs modules asscociés. + +Commande utile : `module avail aidl` + +## HPC +### Compliation +Les liens suivants décrivent les environnements spécifiques (Cray Programming Environment) disponibles sur Arctic : +- pour la [compilation de codes CPU](https://services.criann.fr/services/hpc/cluster-austral/guide/#compilation) +- pour la [compilation de codes GPU](https://services.criann.fr/services/hpc/cluster-austral/guide/compil-gpu/) + +Les GPU AMD sont consacrés à des codes de simulation programmés par API HIP, OpenACC (FORTRAN et Cray Compiler uniquement), OpenMP target, SYCL ou OpenCL. + +### Applications +Des codes métier de référence sont aussi disponibles pour différents domaines tels que mécanique et CFD (exemple : **OpenFOAM**), climat (exemple : **WRF**), simulation atomistique (exemple : **Gromacs**) ou mathématiques (exemple : **R**). + +- Versions disponibles pour une application : `module avail gromacs`, `module avail openfoam` +- Modules disponibles par catégorie scientifique : `module avail atomic_simu`, `module avail cfd_fem`, `module avail bio`, `module avail climate` +- Environnements python : `module avail py_env` +- Compilateurs et librairies du CPE (Cray Programming Environment) : `module avail cpe_env` diff --git a/docs/code_form/arctic/profils.md b/docs/code_form/arctic/profils.md new file mode 100644 index 000000000..521a3c389 --- /dev/null +++ b/docs/code_form/arctic/profils.md @@ -0,0 +1,21 @@ +--- +title: "Profils d'utilisation" +sidebar_position: 2 +--- + +# Profils d'utilisation d'Arctic + +## Enseignement + +### Ressources utilisables pour travaux pratiques, avec réservation par Slurm pour un groupe +- CPU : 2 nœuds de calcul à 192 cœurs AMD Genoa et 700 Go de mémoire chacun +- GPU pour l'IA ou le HPC : 1 nœud de calcul à 8 GPU NVIDIA A100, partitionnés en MIG (Multi-Instance GPU, voir section [travaux](./jobs.md) pour les précisions) +- GPU pour le HPC : 2 nœuds de calcul à 4 GPU AMD MI210 chacun + +### Ressources utilisables dans la file générale des travaux +Les architectures CPU, GPU AMD, NVIDIA A100 et H200 sont utilisables par l'ensemble des partitions Slurm d'Arctic : voir section [travaux](./jobs.md). + +## Recherche +Les architectures GPU AMD, NVIDIA A100 ou H200, sont utilisables dans la file générale des travaux. + +La valeur ajoutée du modèle H200 réside en particulier dans la quantité de mémoire qu'il embarque : 141 Go par carte, pertinente pour certains projets de recherche en IA ou HPC. diff --git a/docs/code_form/arctic/stockage.md b/docs/code_form/arctic/stockage.md new file mode 100644 index 000000000..9ac8a197c --- /dev/null +++ b/docs/code_form/arctic/stockage.md @@ -0,0 +1,10 @@ +--- +title: "Stockage" +sidebar_position: 4 +--- + +### Espaces de travail et gestion des données + +Un quota strict de 50 Go est appliqué sur l'espace de travail personnel (`$HOME`). + +Les espaces de travail (homedir et scratch), les quotas disques indivuels et de projet et les bonnes pratiques de gestion des données font l'objet d'une [page dédiée](https://services.criann.fr/services/hpc/cluster-austral/guide/data-management/).