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.
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.
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/…
).
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.
La compilation est classique avec CMake. Le fichier oo_meta/CMake/nic4-icc.cmake
défini la configuration actuelle
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…
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).