Aller au contenu

Guide d'utilisation du cluster Austral

Architecture

Une description matérielle du cluster Austral est disponible.

Se connecter

  • Serveurs de connexion SSH (frontales) : ssh -l votre_login austral.criann.fr
  • Serveur de connexion spécialisé au transfert de données avec l'extérieur : ssh -l votre_login austral-transfert.criann.fr

Des serveurs de visualisation seront ajoutés prochainement au cluster afin de permettre l'utilisation d'outils interactifs.

Firewall

Si votre structure a un firewall limitant les flux en sortie de votre site, voici les ports à ouvrir :

  • Connexions SSH (port TCP/22) vers les frontales
    • IPv4 : 195.221.22.130 (austral.criann.fr; austral-front1.criann.fr)
    • IPv4 : 195.221.22.131 (austral.criann.fr; austral-front2.criann.fr)
    • IPv4 : 195.221.22.132 (austral.criann.fr; austral-front3.criann.fr)
    • IPv4 : 195.221.22.133 (austral.criann.fr; austral-front4.criann.fr)
    • IPv4 : 195.221.22.134 (austral-transfert.criann.fr)

Gestion de vos données

Une documentation sur la gestion des données est disponible.

Suivi des consommations

Une commande est mise à disposition sur les frontales pour avoir accès à un relevé de la consommation en h.cpu : maconso

Passer de Myria à Austral

Compiler

Lire entièrement le paragraphe Compilation

Pour les raisons développées dans ce dernier : dans vos fichiers makefile, vous devez remplacer

  • icc, gcc, mpicc ou mpiicc par cc
  • icpc, g++, mpicxx ou mpiicpc par CC
  • ifort, g77, gfortran, mpif90 ou mpiifort par ftn

Nomenclature des modules d’applications ou de bibliothèques

Sur Austral, la nomenclature des modules mentionne leur catégorie scientifique ou technique.

Par exemple, les modules pour NAMD ne se nomment plus namd/version comme sur Myria, mais atomic_simu/namd/version, les modules pour OpenFOAM ne se nomment pas openfoam/version mais cfd_fem/openfoam/version. Les modules pour PyTorch se nomment aidl/pytorch/version.

Lire le paragraphe Logiciels disponibles

Intelligence Artificielle / apprentissage profond

Lire la page dédiée au domaine IA - Deep Learning pour Austral

Scripts d'exécution par Slurm : /soft/slurm/Modeles_scripts

Compilation

Environnement

Le CPE (Cray Programming Environment) comprend les modules de compilateurs (Gnu, Cray, Intel) et de bibliothèques MPI Cray MPICH pour le réseau Slingshot.

Dans vos fichiers makefile, vous devez remplacer

  • icc, gcc, mpicc ou mpiicc par cc
  • icpc, g++, mpicxx ou mpiicpc par CC
  • ifort, g77, gfortran, mpif90 ou mpiifort par ftn

Le compilateur de Gnu est suggéré par défaut.

Le module cpe_env/gcc-milan-08.23 est pré-chargé.

Il regroupe le compilateur de Gnu (11.2.0) avec optimisations intégrées pour l’architecture des CPU AMD Milan, et la librairie MPI Cray MPICH (8.1.20).

Concrètement :

  • La commande cc correspond à gcc + Cray MPICH
  • La commande CC correspond à g++ + Cray MPICH
  • La commande ftn correspond à gfortran + Cray MPICH

Regroupements alternatifs d'environnements

Après module load cpe_env/craycc-genoa-08.23

  • cc correspond au compilateur C de Cray + Cray MPICH
  • CC correspond au compilateur C++ de Cray + Cray MPICH
  • ftn correspond au compilateur FORTRAN de Cray + Cray MPICH

avec optimisations intégrées pour l’architecture AMD Genoa.

Après module load cpe_env/icc-milan-08.23

  • cc correspond au compilateur C d'Intel + Cray MPICH
  • CC correspond au compilateur C++ d'Intel + Cray MPICH
  • ftn correspond au compilateur FORTRAN d'Intel + Cray MPICH

avec application de jeu d'instructions AVX2, compatibles avec les processeurs AMD Milan et Genoa.

Commandes utiles

  • cc --version, CC --version et ftn --version rappellent le compilateur (Gnu, Cray ou Intel) et sa version auxquels ces wrappers correspondent.
  • man gcc, man g++, man gfortran, man craycc, man crayCC, man crayftn, man icx, man ifort pour la documentation d'options de compilation.

Remarque

  • Les serveurs fins (purement CPU) d’Austral ont un CPU de génération Genoa, la plus récente d’AMD lors de l'ouverture d’Austral (septembre 2023). Toutefois, le compilateur de Gnu version 12 n’intègre pas d’option pour Genoa (-march=zen4). Gcc 13 possède cette option, mais ne sera intégré qu’à la prochaine version de CPE.
  • D’où la mise en place du module cpe_env/gcc-milan-08.23 qui intègre l’optimisation (option -march=zen3 automatiquement appliquée pac cc / CC / ftn, sans que vous ayez à la spécifier vous même) pour la génération précédente de CPU, AMD Milan (qui est d'ailleurs celle des CPU des serveurs HPDA et GPGPU d’Austral). Compte tenu d’une compatibilité ascendante, un code compilé pour l’architecture Milan fonctionne sur l’architecture Genoa.

Bibliothèques scientifiques directement intégrées au CPE (Cray Programming Environment)

  • HDF5 s'active par la commande module load cray-hdf5 ou module load cray-hdf5-parallel
  • FFTW (séquentielle, threadée ou MPI) s'actvie par la commande module load cray-fftw
  • BLAS, LAPACK et SCALAPACK sont activées par le module cray-libsci qui est pré - chargé à la connexion sur Austral

À condition que cc / CC / ftn soient utilisés, le chargement de ces modules cray-* permet la prise en compte de ces librairies lors de vos compilations, sans aucun ajout dans vos fichiers makefile.

Remarques :

  • Les modules cray-hdf5 fournissent des versions de HDF5 qui n’ont pas toutes les fonctions optionnelles de cette bibliothèque. En particulier, pour la compression de format szip utiliser l’un des modules data/hdf5/1.12.0-serial-szip_gcc ou data/hdf5/1.14.1-parallel-szip_gcc (dans ce cas, vos fichiers makefile devront être complétés par vos soins, par les variables dont les commandes module show data/hdf5/1.12.0-serial-szip_gcc ou module show data/hdf5/1.14.1-parallel-szip_gcc fournissent le nom).

  • Si une fonction d'algèbre linéaire n'est pas fournie par cray-libsci, essayer les versions Gnu du standard MKL par le module math/mkl/2023.0.0/lp64/blas-lapack_gcc (charger ce module, puis inclure dans vos fichiers makefile les variables dont la commande module show math/mkl/2023.0.0/lp64/blas-lapack_gcc fournit le nom).

Codes GPU

  • Le module nvhpc-byo-compiler/22.7 fournit le toolkit de NVIDIA comprenant CUDA 11.7 (commande nvcc).
  • Le module nvhpc/22.7 active en plus les compilateurs de NVIDIA (nvc / nvc++ / nvfortran), utiles pour leur support des directives OpenACC et OpenMP target de programmation pour GPU.

Environnement de soumission (Slurm)

La soumission des travaux se fait par la suite logicielle Slurm.

Le répertoire /soft/slurm/Modeles_scripts contient des modèles de scripts de soumission.

Commandes

Ce tableau fournit les commandes utiles pour la soumission des travaux.

Action Commande
Caractéristiques des partitions (classes) sinfo
Soumettre un travail sbatch script_soumission.sl
Lister l'ensemble des travaux squeue
Lister ses propres travaux squeue -u login
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
Vérification de la syntaxe et prévision d'horaire de passage d'un travail sans le soumettre sbatch --test-only script_soumission.sl
Prévision d'horaire de passage de ses propres travaux squeue -u login --start
Tuer un travail scancel job_id

Les partitions (classes de soumission)

Partitions pour architectures spécifiques

Partition Durée maximale Nœuds disponibles Limites par calcul
gpu 72 h 6 nœuds AMD Rome avec 8 GPUs Ampere A100 80GB NVLink4 5 nœuds (40 GPU, 320 cœurs CPU, 5x515000 MB de mémoire)
hpda 72 h 5 nœuds AMD Rome avec 8 GPUs Ampere A100 80GB NVLink4 5 nœuds (40 GPU, 320 cœurs CPU, 5x515000 MB de mémoire)
gpu_all 72 h les nœuds des partitions gpu et hpda 5 nœuds (40 GPU, 320 cœurs CPU, 5x515000 MB de mémoire)

Partitions pour calculs parallèles

Un nœud comprend 192 cœurs AMD Genoa et 734 GB de mémoire (DDR5) disponible pour les applications (#SBATCH--mem 734gb ou #SBATCH --mem 752000 au maximum pour la demande de mémoire par nœud).

Partition Durée maximale Nœuds disponibles Limites par calcul
debug 30 min 124 nœuds Genoa 2 nœuds
2tcourt 12 h 124 nœuds Genoa 44 nœuds
tcourt 24 h 120 nœuds Genoa 22 nœuds
tcourt_intra 24 h 30 nœuds Genoa 1 nœud
court 48 h 40 nœuds Genoa 6 nœuds
long 100 h 24 nœuds Genoa 2 nœuds
tlong 300 h 12 nœuds Genoa 1 nœud

Logiciels disponibles

Les commandes suivantes sont utiles pour rechercher les applications disponibles.

  • Modules scientifiques
    • module avail aidl
    • module avail atom
    • module avail cfd_fem
    • module avail math
    • module avail climate
    • module avail data
    • module avail mesh
    • module avail couplers
  • Environnements
    • module avail py_env
    • module avail cpe_env
    • module avail tools/

Le nom d’un module peut aussi être recherché à partir du nom de l’application (exemples : module avail python, module avail anaconda, module avail gromacs).

Pour une application mise en production par le Criann, le script de soumission par Slurm qui est fourni (dans /soft/slurm/Modeles_scripts si elle est partagée) applique la commande de chargement de son module.


Dernière mise à jour: 14 septembre 2023 15:58:06