= __Travailler sur Ada__ = '''[wiki:platform/documentation Index]/[wiki:Modipsl_envCalc Environnement de Calcul]/[wiki:Modipsl_ada Ada]''' [[PageOutline]] [[BR]][[BR]] == Documentation IDRIS == Voir : http://www.idris.fr/ada/ == Environnement minimum sur ada == * Voir fichier typique .bash_login dans ~rpsl035/.bash_login Il faut avoir accès à : * fcm : {{{ export PATH=~rpsl035/FCM/bin:$PATH }}} [[BR]][[BR]] == Premiers essais == === LMDZ === * 7/1/2013 * Compilation OK : fichiers arch accessibles sur trunk (à partir de la rev. 1705) * Execution : sequentiel, MPI, MPI/OpenMP, OpenMP OK, les benchs (quelques jours en 48x36x19 ; compilation en mode "dev") donnent des restarts identiques. Youpi. === IPSLCM5 === * 7/1/2013 :compilation * IOIPSL : OK * FCM : OK * LMDZ AR4, ajouter arch ADA et modifier makelmdz_fcm (netcdf) * NEMO : ajouter 3 lignes * XMLF90 : ajouter arch ADA * OASIS : OK * execution * 1 mois OK, lancement job ultra simple * post-traitement * sur ada == Commandes de gestion de Jobs sur ada == * La limite de temps dans les jobs se compte en temps réel. 1h sur 32 procs compte pour 32h. Attention à ne pas avoir trop de temps sur 1 processeur. * llsubmit --> soumissions de job * llcancel --> suppression de job * llq -u ''login'' --> indique tous les jobs en queue ou running pour ''login'' * Astuce : paramétrer l'affichage de llq pour avoir les noms de jobs : llq -u $(whoami) -f %jn %id %st %c %dq %h -W * Post-mortem : jar , jar -l #jobid#, pour avoir le lendemain du job les informations détaillées : mémoire, temps réel, efficacité, ... [[BR]][[BR]] == Compilation == N'oubliez pas de verifier que votre PATH contient bien le path pour l'outil FCM : ~rpsl035/FCM/bin . [[BR]] Plus d'infos [https://forge.ipsl.jussieu.fr/igcmg/wiki/Modipsl_compil#FCM là]. [[BR]][[BR]] == Comment choisir le nombre de processus demandés ? == La méthode de parallélisation de LMDZ impose la règle suivante : il faut au moins 3 bandes de latitude par processus Si vous avez choisi un trop grand nombre de processus la simulation s'arrête avec le message suivant : {{{ Arret : le nombre de bande de lattitude par process est trop faible (<2). ---> diminuez le nombre de CPU ou augmentez la taille en lattitude }}} Pour modifier le nombre de processus il faut changer la valeur de la variable '''!JobNumProcTot''' dans config.card AVANT de lancer la commande ins_job. [[BR]][[BR]] == Les post-traitement == Les post-traitements se font aussi sur ada. [[BR]][[BR]] == Compiler IPSLCM5A == * 7/1/13 : début des essais * compilation IOIPSL OK [[BR]][[BR]] == Faire une simulation avec le modèle IPSLCM5A == * Repérer un état initial à utiliser : * '''Attention :''' create_etat0_limit ne fonctionne pas actuellement sur vargas. Il est compilé en parallèle (pour gagner du temps) et l'executable tourne sur le nombre de procs demandé par le job : 32 (ou 16). Comme ce n'est pas prévu dans ce0l, il s'arrête. Il faut donc partir d'un état initial créé autrement : autre simulation, ce0l executé ailleurs, par exemple sur brodie. * Tester si les espaces temporaires peremttent de faire les rebuild avec !rebuildFromWorkdir == Spécificités libIGCM sur ada == === Comment refaire une simulation et avoir exactement les mêmes résultats? === Attention pour reproduire exactement la même simulation, sur ada, il faut utiliser le même fichiers Bands d'équilibrage des calculs. Voir COMP/lmdz.card.