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


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.2)
  • Soumission des travaux avec Slurm
  • Système de fichiers parallèle IBM Spectrum Scale (GPFS)
  • Environnement de développement :
    • Compilateurs Intel 2017 et Gnu 4.8.5 Fortran, C, C++ (support OpenMP)
    • Librairie Intel MPI 2017 (support de la norme MPI-3)
    • Librairies mathématiques Intel MKL 2017 (dont BLAS, LAPACK et ScaLAPACK), FFTW 3.3.5
    • API CUDA C/C++ 8.0, librairies CUBLAS et CUFFT pour accélération sur GPU
    • Exemples de Makefiles : /soft/makefiles

Connexion et environnement

La connexion s'effectue en SSH vers myria.criann.fr.

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.

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


Transferts

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.


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, Telemac v7p1r1, OpenFOAM 2.3.0, 2.4.0, 3.0.1, 3.0.x, 4.x-version-4.0, 4.x-version-4.1, 1606+, 1612+ et 1706
  • Mécanique des structures : Castem 2016 et 2017
  • Chimie quantique : GAMESS 2013
  • Dynamique moléculaire : GROMACS 5.1.4 (patch Plumed), NAMD 2.9 (patch Plumed) et 2.12, 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 et 5.2.0
  • Salome 7.8.0
  • Visit 2.12.1


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  
  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     squeue --start --job job_id  
  Prévision d'horaire de passage des ses propres travaux     squeue -u login --start  
  Annuler 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  


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 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)     150 nœuds
  (4200 cœurs et 19200 Go de mémoire)  
  "--mem-per-cpu" ≤ 4000 dans le cas MPI  
  tcourt     24 h     322 nœuds (Broadwell)     75 nœuds
  (2100 cœurs et 9600 Go de mémoire)  
  "--mem-per-cpu" ≤ 4000 dans le cas MPI  
  court     48 h     100 nœuds (Broadwell)     20 nœuds
  (560 cœurs et 2560 Go de mémoire)  
  "--mem-per-cpu" ≤ 4000 dans le cas MPI  
  long     100 h     50 nœuds (Broadwell)     10 nœuds
  (280 cœurs et 1280 Go de mémoire)  
  "--mem-per-cpu" ≤ 4000 dans le cas MPI  
  tlong     300 h     10 nœuds (Broadwell)     2 nœuds
  (56 cœurs et 256 Go de mémoire)  
  "--mem-per-cpu" ≤ 4000 dans le cas MPI  
  tcourt_intra     24 h     134 nœuds (Broadwell)     1 nœud
  (28 cœurs et 128 Go de mémoire)  


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     12 nœuds (Broadwell)
  (20 To de disques)  
  28 cœurs et 128 Go de mémoire  
  smplarge     3 h     Totalité du serveur SMP
  (Haswell)  
  256 cœurs et 3,99 To de mémoire  
  smpcourt     12 h     Moitié du serveur SMP
  (Haswell)  
  128 cœurs et 2 To de mémoire  
  smplong     24 h     Quart du serveur SMP
  (Haswell)  
  64 cœurs et 1 To de mémoire  
  knl     24 h     10 nœuds (KNL)     4 nœuds
  (256 cœurs et 384 Go de mémoire)  
  "--mem-per-cpu" ≤ 1500 dans le cas MPI  
  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)  
   
  visu     6 h     2 nœuds (Broadwell)
  à 256 Go de RAM  
  8 cœurs et 128 Go de mémoire  


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.


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 .


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: