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
)
- IPv4 :
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
oumpiicc
parcc
icpc
,g++
,mpicxx
oumpiicpc
parCC
ifort
,g77
,gfortran
,mpif90
oumpiifort
parftn
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
oumpiicc
parcc
icpc
,g++
,mpicxx
oumpiicpc
parCC
ifort
,g77
,gfortran
,mpif90
oumpiifort
parftn
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 MPICHCC
correspond au compilateur C++ de Cray + Cray MPICHftn
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 MPICHCC
correspond au compilateur C++ d'Intel + Cray MPICHftn
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
etftn --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 paccc
/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
oumodule 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 deHDF5
qui n’ont pas toutes les fonctions optionnelles de cette bibliothèque. En particulier, pour la compression de format szip utiliser l’un des modulesdata/hdf5/1.12.0-serial-szip_gcc
oudata/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 commandesmodule show data/hdf5/1.12.0-serial-szip_gcc
oumodule 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 modulemath/mkl/2023.0.0/lp64/blas-lapack_gcc
(charger ce module, puis inclure dans vos fichiers makefile les variables dont la commandemodule 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 comprenantCUDA 11.7
(commandenvcc
). - Le module
nvhpc/22.7
active en plus les compilateurs de NVIDIA (nvc
/nvc++
/nvfortran
), utiles pour leur support des directivesOpenACC
etOpenMP 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.