Personal tools
You are here: Home Calcul Technique Documentation calculateur ATOS BULL Myria Guide d'utilisation du calculateur Myria

Guide d'utilisation du calculateur Myria

Document Actions
Informations pratiques et classes de soumission

Si vous débutez dans l'environnement HPC, nous vous recommandons de lire la version détaillée au format PDF. Sinon, merci de lire au moins les deux premiers paragraphes de la documentation synthétique avant de contacter le support …


(*) En complément de la documentation en ligne, la lecture du paragraphe "Bonnes pratiques de soumission" de ce PDF est conseillée.

    Ce document comprend aussi des aspects avancés pour l'exécution des travaux, nécessaires à certains utilisateurs (travaux multi-étapes) ou utiles pour la performance (placement des processus).

Connexion, environnement et espaces de travail

La connexion s'effectue en SSH vers les frontales regroupées sous le nom myria.criann.fr.

Syntaxe en ligne de commande : ssh login@myria.criann.fr

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 qui vous apportera un environnement de travail complet basé du protocole ssh (export d’écran, transfert de fichiers).


Lors de votre première connexion, le changement de mot de passe vous est imposé. Lisez soigneusement ce qui vous est demandé : "(current) Password" correspond au mot de passe actuel et non au nouveau mot de passe souhaité...


Les personnalisations (variables d'environnement, alias) se font avec un fichier ~/.bash_profile (et non ~/.bashrc) à créer.


L'utilisateur a un espace de travail personnel dans /home.

Par défaut un quota disque utilisateur est positionné à 50 Go dans /home ; la commande "mmlsquota gpfs1:home" fournit le quota et la place que l'utilisateur occupe dans la partition /home.

Nous vous encourageons à calculer dans les dossier de scratch temporaires (/dlocal/run/jobid) créés par l'outil de batch Slurm pour chaque calcul. Un quota de 10 millions de fichiers est appliqué sur l'arborescence /dlocal.

Pour plus d'informations sur cet espace de travail et sur les commandes recommandées pour gérer vos fichiers, consulter cette page.


Transferts de données

Pour le transfert de quantités significatives de données entre Myria et l'extérieur, le serveur myria-transfert.criann.fr doit être privilégié car il est connecté au réseau SYVIK par une interface 40 Gbit/s.

Cette machine donne accès au même répertoire /home que les frontales. Les identifiants de connexion (ssh, scp, sftp) sur myria-transfert.criann.fr sont les mêmes que sur myria.criann.fr.

Les transferts entre Myria et les ressources de l'IDRIS ne sont autorisés que par myria-transfert.criann.fr.


Description de la configuration 

Matériel

  • Myria est une solution ATOS BULL dotée de 11144 cœurs de calcul, d'une puissance de 403 TFlops Xeon, 170 TFlops GPU et 27 TFlops Xeon Phi KNL
  • Description détaillée


Logiciel

  • Environnement Linux 64 bits (CentOS 7.6)
  • Soumission des travaux avec Slurm
  • Système de fichiers parallèle IBM Spectrum Scale (GPFS)
  • Environnement de développement :
    • Compilateurs Intel 2017 et 2019, Gnu 4.8.5 Fortran, C, C++ (support OpenMP)
    • Librairie Intel MPI 2017 et 2019 (support de la norme MPI-3)
    • Librairies mathématiques Intel MKL (dont BLAS, LAPACK et ScaLAPACK), FFTW 3.3.5
    • API CUDA C/C++ 8.0, 9.0, 9.1 et 10.0, OpenACC 2.6 (Pgi 18.4), librairies CUBLAS et CUFFT pour accélération sur GPU
    • Exemples de Makefiles : /soft/makefiles

Logiciels disponibles

La plupart des modèles de script de soumission pour les logiciels suivants sont disponibles dans le répertoire /soft/slurm/criann_modeles_scripts.

Dans le cas contraire, contacter support@criann.fr (de même que pour demander un nouveau logiciel).


Les environnements d'applications et de librairies sont accessibles par des modules (voir les commandes "module avail", "module help" et la documentation générale sur les modules).


Logiciels commerciaux (licence à prendre par l'utilisateur)

  • Mécanique des fluides : ANSYS Fluent, StarCCM+

Logiciels libres

  • Mécanique des fluides :
    • FDS 5.5.0 (incendies)
    • Telemac v7p1r1
    • Code_Saturne 5.0.7
    • OpenFOAM 2.3.0, 2.4.0, 3.0.1, 3.0.x, 4.x-version-4.0, 4.x-version-4.1, 5.x-version-5.0, 5.x-20171030, 6-version-6, 6-20190304, 1606+, 1612+, 1706, 1712, 1806, 1812 et 1906
  • Mécanique des structures : Castem 2016 et 2017, Code_Aster 13.4.0 séquentiel, Code_aster 14.2.0_testing ("développement stabilisée") séquentiel et parallèle (MPI), Salome-Meca 2017.0.2
  • Chimie quantique : GAMESS 2013 et 2016
  • Dynamique moléculaire : GROMACS 5.1.4 (patch Plumed ou non), NAMD 2.9 (patch Plumed), 2.12 (pacth Plumed ou non) et 2.13, DL_POLY_CLASSIC 1.9
  • Climat : WRF 3.7.1 et 3.9

Logiciels sous licence académique

  • Chimie quantique : GAUSSIAN 03, Shrödinger JAGUAR 8.0 et 9.4

Logiciels pour la visualisation ou les pré-/post-traitements

  • Gmsh 2.16.0
  • Neper 3.0.1
  • ParaView 4.0.1, 5.2.0, 5.4.1 et 5.6.0
  • Salome 7.8.0 et 8.5.0
  • Visit 2.12.1 et 2.12.3


Compilation

Les environnements du compilateur et de la librairie MPI d'Intel, en version 2017, sont activés par défaut (taper "module list").

Les codes MPI se compilent au moyen des commandes mpiifort (FORTRAN), mpiicc (C, 2 "i" dans le nom de cette commande), mpiicpc (C++).

L'option d'optimisation pour l'architecture des processeurs généralistes (Broadwell) est "-xCORE-AVX2" (pour une compilation sur une frontale, ou en batch dans une partition autre que knl, l'option "-xHost" est équivalente).

L'option d'optimisation pour l'architecture des processeurs maycores Xeon Phi KNL est "-xMIC-AVX512".

La génération d'un exécutable optimisé pour les deux architectures Broadwell et KNL est possible, avec l'option "-axCORE-AVX2,MIC-AVX512".


Exemples de jeux d'options d'optimisation pour Broadwell, par ordre croissant d'agressivité

  • -O2 -xCORE-AVX2
  • -O3 -xCORE-AVX2 -fp-model precise
  • -O3 -xCORE-AVX2

Exemple de jeu d'options d'optimisation pour KNL

  • -O3 -xMIC-AVX512

Exemple de jeu d'options de débogage

  • -O2 -g -traceback -check all

Des exemples de fichiers Makefile sont fournis dans /soft/makefiles.

L'environnement de modules facilite la compilation d'applications liées aux librairies disponibles.


Environnement de soumission (Slurm)

Le répertoire /soft/slurm/criann_modeles_scripts contient les scripts de soumission génériques (code séquentiel, OpenMP, MPI, hybride, KNL, GPU) ou relatifs à une application spécifique.

Commandes

Ce tableau fournit les commandes utiles pour la soumission des travaux.
                                 
Action Commande
  Charge du calculateur   slurmtop -f -
  Caractéristiques des partitions (classes)   sinfo
  Soumettre un travail   sbatch script_soumission.sl  
  Soumettre un travail en "hold" (attente)   sbatch -H script_soumission.sl  
  Libérer un travail en "hold" (attente)   scontrol release job_id  
  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


Variables d'environnement

Les variables utilitaires suivantes (liste non exhaustive) peuvent être exploitées dans les commandes utilisateurs (Shell) d'un script de soumission.
 
Nom de variable Valeur
  $SLURM_JOB_ID   Identification du travail (exemple : 64549)  
  $SLURM_JOB_NAME     Nom du travail (spécifié par "#SBATCH -J")  
  $SLURM_SUBMIT_DIR     Nom du répertoire initial (dans lequel la commande sbatch a été lancée)  
  $SLURM_NTASKS     Nombre de processus MPI du travail  
  $LOCAL_WORK_DIR     Nom du répertoire de scratch temporaire fondé sur le numéro du calcul : /dlocal/run/$SLURM_JOB_ID  
  Cette arborescence est supprimée 45 jours après la fin du calcul.  


Les partitions (classes de soumission)

Les partitions utilisent les 368 nœuds bi-sockets Broadwell (10304 cœurs), les 10 nœuds Xeon Phi KNL (640 cœurs) et le nœud SMP (256 cœurs).

Le nombre de nœuds de calcul, auxquels les travaux des différentes partitions accèdent, sont donnés ci-dessous à titre indicatif. Les administrateurs ajustent parfois légèrement la taille de ces «fenêtres de tir» en fonction de la charge observée. En revanche, les limitations par calcul restent en général constantes. Dans tous les cas, ces limites ne sont pas modifiées sans qu’une annonce soit faite à la liste de diffusion des utilisateurs.

Remarque : le caractère reproductible des performances d’une application sur le calculateur peut être renforcé par l'application dans le script de soumission de la directive "#SBATCH --exclusive" qui impose l’exécution du travail soumis sur un ensemble de nœuds non partagés. Cette directive est conseillée pour les travaux de production MPI multi-nœuds, recommandée dans le cas de tests de performance.

Pour des calculs de production ou de développement scientifique, dans le cas particulier d'applications séquentielles il est préférable de ne pas appliquer cette directive (pour ne pas monopoliser un nœud de calcul). Il faut au contraire appliquer "#SBATCH --share"

La partition est spécifiée par le script de soumission avec la directive "#SBATCH --partition" (ou dans la ligne de commande : sbatch --partition 2tcourt script_soumission.sl)

Travaux de debug

Cette partition regroupe tous les serveurs équipés du processeur Xeon Broadwell.

Partition   Durée maximale     Nœuds disponibles   Limites par calcul Conseils
  debug     0 h 30     363 nœuds (Broadwell)     5 nœuds
  (140 cœurs et 585 Go de mémoire / 28 cœurs et 1 To de mémoire)  
  L'un des 363 serveurs associés à cette partition
  est équipé d'un To de mémoire  


Travaux sur architecture standard

Les partitions sont définies en fonction des quantités de ressource demandées.

Partition   Durée maximale     Nœuds disponibles   Limites par calcul Conseils
  2tcourt     12 h     332 nœuds (Broadwell)     75 nœuds en semaine
  (2100 cœurs et 9600 Go de mémoire)
  150 nœuds pendant le week-end (*)
  (4200 cœurs et 19200 Go de mémoire)  
  "#SBATCH --mem 120000MB" dans le cas MPI ou OpenMP nœud(s) plein(s)  
  tcourt     24 h     322 nœuds (Broadwell)     75 nœuds
  (2100 cœurs et 9600 Go de mémoire)  
  "#SBATCH --mem 120000MB" dans le cas MPI ou OpenMP nœud(s) plein(s)  
  court     48 h     100 nœuds (Broadwell)     20 nœuds
  (560 cœurs et 2560 Go de mémoire)  
  "#SBATCH --mem 120000MB" dans le cas MPI ou OpenMP nœud(s) plein(s)  
  long     100 h     50 nœuds (Broadwell)     10 nœuds
  (280 cœurs et 1280 Go de mémoire)  
  "#SBATCH --mem 120000MB" dans le cas MPI ou OpenMP nœud(s) plein(s)  
  tlong     300 h     15 nœuds (Broadwell)     2 nœuds
  (56 cœurs et 256 Go de mémoire)  
  "#SBATCH --mem 120000MB" dans le cas MPI ou OpenMP nœud(s) plein(s)  
  tcourt_intra     24 h     134 nœuds (Broadwell)     1 nœud
  (28 cœurs et 128 Go de mémoire)  
  "#SBATCH --mem 120000MB" dans le cas MPI ou OpenMP nœud plein  

(*) l'horaire du week-end commence le vendredi soir à 17h et se termine le dimanche soir à 20h. Pendant cette période, le total des cœurs utilisé par un utilisateur peut atteindre 4200 cœurs, autorisant ainsi un calcul dans la partition 2tcourt jusqu'à 4200 cœurs.


Travaux sur architectures spécifiques

Les partitions correspondent au type de l'architecture ciblée.
         
Partition   Durée maximale     Nœuds disponibles   Limites par calcul Conseils
  disque     300 h     13 nœuds (Broadwell)
  (dont 12 à 128 Go de mémoire et 1 à 1 To de mémoire)  
  28 cœurs et 1 To de mémoire     Scratch disque local (non partagé en réseau) : $LOCAL_SCRATCH_DIR  
  smplarge     3 h     Totalité du serveur SMP
  (Haswell)  
  256 cœurs et 3,99 To de mémoire  
  smplong     72 h     Moitié du serveur SMP
  (Haswell)  
  128 cœurs et 2 To de mémoire  
  knl     100 h     10 nœuds (KNL)     4 nœuds
  (256 cœurs et 384 Go de mémoire)  
  "#SBATCH --mem 89000MB" dans le cas MPI ou OpenMP nœud(s) plein(s)  
  gpu_k80     48 h     9 nœuds (Broadwell)
  (avec GPUs Kepler K80)  
  8 nœuds
  (224 cœurs et 1024 Go de mémoire)  
   
  gpu_p100     48 h     9 nœuds (Broadwell)
  (avec GPUs Pascal P100)  
  8 nœuds
  (224 cœurs et 1024 Go de mémoire)  
   
  gpu_all     48 h     18 nœuds (Broadwell)
  (avec GPUs K80 ou P100)  
  1 nœud
  (28 cœurs et 128 Go de mémoire)  
   
  gpu_court     4 h     4 nœuds (Broadwell)
  (avec GPUs K80)  
  1 nœud
  (28 cœurs et 128 Go de mémoire)  
   
  visu     6 h     2 nœuds (Broadwell)
  à 256 Go de RAM  
  8 cœurs et 128 Go de mémoire  

La partition "disque" doit être spécifiée pour des applications de chimie intensives en débit d'écriture.
Voir les modèles de fichiers de soumission dans /soft/slurm/criann_modeles_scripts : job_Gamess2013.sl, job_Gamess2016.sl, job_Jaguar-8.0.sl, job_Jaguar-9.4.sl, job_Gaussian03.sl


GPGPU

Une description des modalités de soumission de travaux sur GPU est disponible.


KNL

Les serveurs dotés d'un processeur Xeon Phi KNL ont plusieurs configurations (modes de "clustering" et de mémoire rapide embarquée).

La page de documentation KNL décrit ces configurations et les directives de Slurm permettant de les spécifier pour les travaux.


Visualisation à distance

Une documentation spécifique pour les travaux de visualisation est disponible.


Gestion des signaux envoyés par Slurm

Une documentation spécifique pour attraper et traiter les signaux envoyés par Slurm est disponible.


Compléments

La documentation détaillée au format PDF (paragraphes "Bonnes pratiques de soumission" et "Exécution des travaux : aspects avancés") fournit des informations utiles :
  • Rapport de consommation de ressources (mémoire notamment) par calcul
  • Travaux multi-étapes (pré-traitement, solveur et post-traitement par exemple) et dépendances entre travaux
  • Prise en compte de la topologie du réseau pour la performance des communications MPI
  • Placement optimal des processus parallèles d'un travail pour la performance (dans le cas d'utilisation de nœuds de calcul en mode dépeuplé)


Suivi de la consommation horaire

Vous pouvez suivre la consommation horaire cpu.h de vos projets scientifiques sur le portail : https://calcul-myria.criann.fr .


Remerciements

Les publications reposant sur des résultats obtenus dans le cadre des attributions d'heures devront mentionner la mise à disposition des moyens par le CRIANN. Formulation à titre indicatif :

  • Ce travail a bénéficié des moyens de calcul du mésocentre CRIANN (Centre Régional Informatique et d’Applications Numériques de Normandie).
  • Part of this work / The present work / was performed using computing resources of CRIANN (Normandy, France)


Support

Privilégier le courrier électronique à support@criann.fr .

Le support est toutefois joignable par téléphone au 02 32 91 42 91.



Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: