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.

Compilation de Metafor

La compilation est classique avec CMake. Le fichier oo_meta/CMake/nic4-icc.cmake défini la configuration actuelle

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…

launch écrit et soumet à la queue le script runSlurm.shautomatiquement 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).