Table of Contents
Mémo NIC4
Nic 4 est le cluster ULG du Ceci.
Il est composé de 168 noeuds : 16 coeurs (2*8) & 64 Gb par noeud.
Plus d'info sur les sites du CECI et du Segi.
La demande de création de compte se fait via ce formulaire.
slurm info
Le gestionnaire de queues sur les clusters du CECI est Slurm. Lisez le Mémo SLURM de Romain, le http://www.ceci-hpc.be/slurm_tutorial.html, le cours du CECI avant de commencer …
et n'hésitez pas à vous référer à la documentation de Slurm.
Configuration du compte pour Metafor
Une fois que vous savez vous connecter sur Nic4 à partir de votre machine qu'elle soit windows ou Linux, il faut configurer votre compte à la compilation/utilisation de Metafor.
Le système de configuration des comptes a été adapté à Nic4.
Si pour des besoins particuliers des modifications de configurations devaient être apportées à la configuration, notez que le serveur d'accès se nomme “master2” (faites vos modifs dans ~/bin/cfg/master2/…
).
Compiler Metafor
Compilation de Swig
Pour compiler Metafor, il faut auparavant recompiler http://www.swig.org/ en version 2.x (la version système est 1.3 et il existe des versions 3.x plus récentes, mais elles sont incompatibles avec la version actuelle de Metafor.
- détarrer les sources (swig-2.0.12.tar.gz)
- configurer : ./configure –without-pcre –prefix=$HOME/local/ (l'installation dans ~/local/ sera automatiquement détectée par le système de configuration de metafor)
- compiler : make
- installer : make install
Compilation de Metafor
La compilation est classique avec CMake. Le fichier oo_meta/CMake/nic4-icc.cmake
défini la configuration actuelle
- avec le compilateur intel
- sans interface graphique (ni vtk, ni Qt pas utile sur cluster)
- sans stp2py
- sans GenIso
- sans Mumps (to do : voir si dispo ou compiler !!!)
Execution de Metafor
ATTENTION : Toute execution sur Nic doit être faite sur le disque /scratch
(tapez cd $SCRATCH
)
le quota sur /home
est fixé à 20Gb…
Launch.py a été adapté à l'utilisation via Slurm.
Nic4
ne disposant que d'une seule queue (defq
), il n'y a pas de choix de queue.
Le système de queue déterminant la priorité de lancement des jobs en fonction de la demande en terme de noeuds/coeurs/mémoire/CPU, il est important de ne pas trop sur-estimer les ressources nécessaires.
ATTENTION : il est plus capital encore de ne pas sous-estimer vos besoins (sans quoi les jobs sont automatiquement stoppés!!!).
L'execution d'un premier test avec une estimation large de la memoire et peu de temps de calcul (5 à 10 minutes) permet généralement de connaitre la mémoire nécessaire (MaxRSS) et d'estimer le temps de calcul nécessaire (sur base du test.res). N'oubliez pas d'ajouter une marge de sécurité tant en memoire que en temps de calcul…
- ATTENTION : Le temps de calcul DOIT être écrit au format J-HH:MM:SS (il n'y a pas de validation du format !!!).
- ATTENTION : Le temps de calcul max accepté sur nic4 est de 2 jours.
- ATTENTION : La memoire est la mémoire TOTALE nécessaire au calcul en Mb.
launch écrit et soumet à la queue le script runSlurm.sh
automatiquement généré
#!/bin/bash # Metafor launch.py slurm script... #SBATCH --job-name=metafor #SBATCH --mail-user=lpapeleu #SBATCH --mail-type=ALL # Ressources needed... #SBATCH --partition=defq #SBATCH --ntasks=1 #SBATCH --cpus-per-task=16 #SBATCH --time=0-0:05:00 #SBATCH --mem=500 . /home/ulg/aea/lpapeleu/.bash_profile master2 srun /home/ulg/aea/lpapeleu/bin/launch.py -x -i $SLURM_JOB_ID -m master2
La configuration d'execution est copiée dans le fichier launch$SLURM_JOB_ID.cfg
et relu pour lancer l'execution. Un script d'arret/suppression du calcul est aussi généré sCancel$SLURM_JOB_ID.py
alors que la sortie standard est redirigée vers slurm-$SLURM_JOB_ID.out
(en plus des mails d'info).