ECLIS sur Beaufix

Les spécificités d’ECLIS sur beaufix

Article mis en ligne le 20 août 2013
dernière modification le 19 septembre 2013

par senesi

ECLIS n’a que quelques spécificités sur Beaufix :

  • spécification des nombres de procs, ou de noeuds :
    • pour les runs Arpege et/ou Surfex seuls, il n’y a besoin de préciser que le nombre de noeuds qu’on veut utiliser, avec le paramètre NN (la raison étant que les noeuds sont facturés en entier, donc autant en utiliser tous les 24 procs) ; on peut néanmoins, pour des cas particuliers, demander moins de procs par noeud qu’il n’y en a (via le paramètre NNP)
    • pour les runs couplés ou Nemo, on précise le nombre de procs qu’on veut dédier à chaque modèle : NPROC_ARP, NPROC_OCE, NPROC_IOS ; le nombre de noeuds s’ajuste automatiquement. A noter que, à ce jour, il faut mettre NPROC_IOS à 0, et que Trip et Oasis tournent sur un seul proc chacun
  • modules :
    • vous n’avez pas besoin de charger des modules pour installer ou faire tourner une simulation avec ECLIS
    • ECLIS purge tous modules au début du step 2 (partie parallèle du job)
    • pour les runs Arpege et/ou Surfex seuls, ECLIS utilise l’outil ’mpiauto’ de P.Marguinaud, qui identifie automatiquement quelle est la bilbiothèque MPI avec laquelle a été compilé et ’linké’ le binaire, ceci pour invoquer le bon lanceur MPI. De plus, ECLIS suppose que l’édition de liens s’est faite en spécifiant explictement le chemin des librairies dynamiques (via l’option -Wl,-rpath), ce qui est généralement le cas quand on compile avec gmkpack et un "bon" gmkfile. A noter que mpiauto effectue le ’binding’, opérations qui permet que les tâches MPI ne se promènent pas, inefficacemeent, d’un processeur à un autre pendant l’exécution.
    • pour les runs couplés où Nemo seul, l’hypothèse de travail est pour l’instant que tous les modèles ont été compilés et ’linkés’ avec le même "wrapper" qui fixe explictement les versions de librairies ’intel’ et ’intelmpi’ à utiliser. Juste avant le lancemement des modèles, ECLIS charge les modules des mêmes versions. Au 20/08/2013 ce sont les versions intel/13.1.4.183 et intelmpi/4.1.1.036, et le wrapper khatib/public/bin/impi-4.1.1.036_ifc-13.1.4.183 qui sont utilisés. Aussi, il faut veiller, lors de compilation de Nemo, à purger son environnement de tout module pour éviter des interactions entre bibliothèques MPI (c’est ce que font les meilleures versions de ’compil_modif’)
    • concernant netcdf, et d’autres modules éventuellement nécessaires : depuis sa version V6.2, ECLIS ne charge plus de module netcdf ; il vous appartient de faire en sorte que vos binaires de modèles connaissent le chemin de la librairie NetCDF avec lequelle ils sont compatibles ; ceci se fait à l’édition de lien via l’option -Wl,-rpath,$DIR_NETCDF ; pour vérifier si votre binaire est conforme, lancez ’ldd’ dessus, dans un environnement dont vous aurez purgé les modules : il ne doit s’afficher aucun ’not found’ ; une alternative est de faire charger le(s) module(s) nécessaire(s) par ECLIS en utilisant un micro-plugin pour la phase de début des calcul parallèles, c’est à dire en ajoutant dans votre fichier param_ : COMPUTE_INIT_ADD="module load mon_module", puis en ré-installant l’expérience
  • hyperthreading : les processeurs Intel exposent deux "processeurs logiques" pour chaque "processeur physique". Arpege peut utiliser cette particularité avec profit (30% de gain de temps dans certains cas, sans facturation supplémentaire), quand on met le paramètre ECLIS ’HYPERTHREADING’ à la valeur ’yes’. Au 20/08/2013, ceci ne marche pas avec Arpege V5 + Surfex ; mais cela a été testé avec Arpege V6 sans Surfex en mode non-couplé ; pour les autres combinaisons, à vous de voir !
  • espaces disques : FTDIR et WORKDIR sont,sur beaufix, sur le même type de système de fichiers (Lustre) ; comme FTDIR est, a priori, nettoyé de ses vieux fichiers automatiquement, on peut installer le répertoire de travail des modèles sur FTDIR plutôt que sur TMPDIR (afin d’être examinable en cas de plantage) ou plutôt que sur WORKDIR (afin de ne pas avoir a être nettoyé ’à la main’) ; c’est ce que fait ECLIS par défaut ; on peut changer ça, et utiliser TMPDIR, via "KEEPTMP=0"

Dans la même rubrique

Breaks in Eclis upward compatibility
le 19 février 2019
par senesi
Eclis and Xios
le 19 février 2019
par senesi
Running ECLIS on cluster Aneto
le 1er février 2016
par senesi
Running ECLIS on a PC or server at CNRM
le 6 janvier 2016
par senesi
Présentation d’ECLIS
le 15 octobre 2013
par senesi