Changes between Version 164 and Version 165 of ModipslBeginner


Ignore:
Timestamp:
12/06/10 09:19:53 (13 years ago)
Author:
mafoipsl
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ModipslBeginner

    v164 v165  
    7979 === IDRIS === 
    8080 * http://www.idris.fr/ 
    81  * les machines de l'IDRIS disponibles pour le couplé sont brodie (NEC SX-8) et vargas (IBM Power6). Pour vargas, voir informations là (Intranet ou ipsl/vivaipsl)  : http://wiki.ipsl.jussieu.fr/Pole/Couple/Vargas 
     81 * les machines de l'IDRIS disponibles pour le couplé sont brodie (NEC SX-8) et vargas (IBM Power6). Pour vargas, voir informations plus loin. 
    8282__Mémo des choses à faire sur un nouveau login à l'IDRIS pour pouvoir préparer et lancer une simulation :__ 
    8383     * PATH sur brodie : ajouter l'accès à svn et fcm : 
     
    424424Si il y a un problème de compilation vous pouvez vous adresser au ''model manager''. Il est indiqué lors de la commande  
    425425{{{ 
    426  ./model -h IPSLCM5_v2  
     426 ./model -h IPSLCM5A  
    427427}}} 
    428428[[BR]] 
     
    460460 
    461461===== Présentation du répertoire d'expérience ===== 
    462 Dans le répertoire '''modipsl/config/IPSLCM5_v2/''' vous trouverez 1 sous répertoire EXP00 [[BR]] 
     462Dans le répertoire '''modipsl/config/IPSLCM5A/''' vous trouverez 1 sous répertoire EXP00 [[BR]] 
    463463Ce répertoire contient les fichiers nécessaires pour lancer une simulation :  
    464464 - un fichier config.card 
     
    555555LMDZ_Length_aero=12 
    556556}}} 
    557  * LMDZ_NbPeriod_adjust permet de définir combien de !PeriodLenght on veut utiliser au début d'une simulation pour créer le fichier Bands qui permet d'ajuster au mieux la parallélisation du code. Si jamais on souhaite utiliser un fichier pré-existant il faut indiquer LMDZ_NbPeriod_adjust=0 
     557 * LMDZ_NbPeriod_adjust permet de définir combien de !PeriodLenght on veut utiliser au début d'une simulation pour créer le fichier Bands qui permet d'ajuster au mieux la parallélisation du code. Si jamais on souhaite utiliser un fichier pré-existant il faut indiquer LMDZ_NbPeriod_adjust=0 et préciser le nom du fichier Bands à utiliser. Attention au nombre de proc et à la grille précisés dans ce nom. 
    558558 
    559559{{{ 
     
    616616[[BR]] 
    617617 
    618 ===== Temps d'execution du couplé IPSLCM5_v2 ===== 
     618===== Temps d'execution du couplé IPSLCM5A ===== 
    619619 
    620620'''ORCA2xLMD9695-L39''' 
     
    650650===== A retenir ===== 
    651651 
    652 Par défaut, le couplé IPSLCM5_v2, peut tourner sur un nombre quelconque de processeurs. Il crée lui-même le fichier Bands lors des 3 premiers mois de la simulation puis utilise celui du dernier mois. Il est possible d'utiliser le fichier Bands d'une autre simulation, voir paramétrage dans COMP/lmdz.card. 
     652Par défaut, le couplé IPSLCM5A, peut tourner sur un nombre quelconque de processeurs. Il crée lui-même le fichier Bands lors des 3 premiers mois de la simulation puis utilise celui du dernier mois. Il est possible d'utiliser le fichier Bands d'une autre simulation, voir paramétrage dans COMP/lmdz.card. 
    653653 
    654654'''ATTENTION''' : Pour être certain d'obtenir les même résultats entre deux simulations il faut annuler l'ajustement et la création des fichiers Bands. Il faut utiliser pour les deux simulations le MÊME fichier Bands.  
     
    10221022 
    10231023{{{ 
    1024 cd modipsl/config/IPSLCM5_v2 
     1024cd modipsl/config/IPSLCM5A 
    10251025cp -pr EXP00 MONEXP 
    10261026cd MONEXP 
     
    11161116}}} 
    11171117 
    1118 ==== Lancer IPSLCM5_v2 sur la machine Titane (machine Xeon du CCRT) ==== 
     1118==== Lancer IPSLCM5A sur la machine Titane (machine Xeon du CCRT) ==== 
    11191119 
    11201120 * Etape préalable : assurez-vous que votre login est autorisé à tourner sur la machine titane à l'aide de la commande groups : 
     
    11241124Si ce n'est pas le cas, demandez l'autorisation au CCRT en passant par votre responsable de projet. 
    11251125 
    1126 Les étapes à faire sont les mêmes que pour tourner le modèle IPSLCM5_v2 sur mercure, a ceci près : 
     1126Les étapes à faire sont les mêmes que pour tourner le modèle IPSLCM5A sur mercure, a ceci près : 
    11271127 
    11281128 * Avant la compilation ET l'exécution, il faut charger les modules nécessaires : 
     
    12291229  * Il faut avoir accès à subversion : {{{ module load svn }}} et à fcm : {{{ export PATH=/homegpfs/rech/psl/rpsl035/FCM/bin:$PATH }}} 
    12301230 * Compilation : 
    1231   * Avant toute compilation, il faut changer de compilateur, car la version courante fait planter le modèle entre 4 mois et 15 mois d'exécution : 
     1231  * N'oubliez pas de verifier que votre PATH contient bien le path pour l'outil FCM : /homegpfs/rech/psl/rpsl035/FCM/bin . Plus d'infos [wiki:ModipslBeginner#FCM là]. 
     1232  * il faut supprimer les 2 clés : "key_vectopt_loop key_vectopt_memory"  dans config/IPSLCM5A/AA_make. Dans IPSLCM5A/AA_make.gdef (à faire avant ins_make) 
     1233  * il faut explicitement demander l'utilisation de 5 processeurs pour NEMO.  
    12321234 {{{ 
    1233 module switch fortran/12.1.0.4 fortran/12.1.0.3 ; module switch c++/10.1.0.3 c++/10.1.0.2 
    1234 }}} 
    1235   * N'oubliez pas de verifier que votre PATH contient bien le path pour l'outil FCM : /homegpfs/rech/psl/rpsl035/FCM/bin . Plus d'infos [wiki:ModipslBeginner#FCM là]. 
     1235vi modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31) 
     1236      jpni   = 1,                   &  !: number of processors following i 
     1237      jpnj   = 5,                   &  !: number of processors following j 
     1238      jpnij  = 5                       !: nb of local domain = nb of processors 
     1239}}} 
    12361240 * Exécution : 
     1241    *  modifier la répartition du nombre de process à lancer dans modipsl/libIGCM/libIGCM_sys/libIGCM_sys_vargas.ksh 
     1242      * Mettre -6 pour l'atmosphère (au lieu de -2) ligne 1092 
     1243      * Mettre 5 pour l'océan (au lieu de 1) ligne 1094 
     1244      * Dupliquer la ligne de lancement de opa.xx ligne 1113 et 1114  
     1245 {{{ 
     1246 (( NUM_PROC_ATM = BATCH_NUM_PROC_TOT - 3 )) 
     1247... 
     1248  NUM_PROC_OCE=2 
     1249... 
     1250 ./opa.xx 
     1251 ./opa.xx 
     1252 ./opa.xx 
     1253 ./opa.xx 
     1254 ./opa.xx 
     1255... 
     1256}}} 
    12371257  * Attention! Préciser dans PARAM/run.def {{{ use_filtre_fft=n }}} 
    12381258  * Avant la génération du Job de soumission via la commande ./ins_job, il faut préciser le nombre de CPUs demandés dans le config.card en mettant la variable !JobNumProcTot à 32. Par défaut, cela signifie que la composante atmosphérique tournera sur 30 CPUs alors que la composante océanique et le coupleur utiliseront chacun 1 CPU. 
     
    12401260JobNumProcTot=32 
    12411261}}} 
    1242   * Attention! create_etat0_limit ne fonctionen 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, ... 
     1262  * 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, ... 
    12431263  * Il faut également utiliser la commande adéquate de lancement. Décommenter la ligne suivante et supprimer l'ancienne valeur de !JobRunOptions dans config.card : 
    12441264 {{{ 
     
    12501270}}} 
    12511271 * A noter, que les post-traitements s'effectueront sur la machine ulam. 
    1252  * Pour améliorer les performances : 
    1253     * La configuration idéale est  : 29 CPUs ATM, 2 CPUs OCE et 1 CPU pour Oasis. 
    1254     * Pour activer cette configuration-là, deux étapes sont nécessaires : 
    1255     * Compilation : recompiler NEMO pour qu'il tourne sur 2 process MPI en modifiant directement le code dans modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31): 
    1256 {{{ 
    1257       jpni   = 1,                   &  !: number of processors following i 
    1258       jpnj   = 2,                   &  !: number of processors following j 
    1259       jpnij  = 2                       !: nb of local domain = nb of processors 
    1260  
    1261 cd modipsl/config/IPSLCM5 ; gmake 
    1262 }}} 
    1263     * Execution : modifier la répartition du nombre de process à lancer dans modipsl/libIGCM/libIGCM_sys/libIGCM_sys_vargas.ksh 
    1264       * Mettre -3 pour l'atmosphère (au lieu de -2) ligne 1092 
    1265       * Mettre 2 pour l'océan (au lieu de 1) ligne 1094 
    1266       * Dupliquer la ligne de lancement de opa.xx ligne 1113 et 1114  
    1267  {{{ 
    1268  +1092      (( NUM_PROC_ATM = BATCH_NUM_PROC_TOT - 3 )) 
    1269 ... 
    1270  +1094      NUM_PROC_OCE=2 
    1271 ... 
    1272  +1113  ./opa.xx 
    1273  +1114  ./opa.xx 
    1274 ... 
    1275 }}} 
    12761272 
    12771273=== Les post-traitements avec libIGCM ===