Changes between Version 2 and Version 3 of Modipsl_titane


Ignore:
Timestamp:
07/06/11 14:36:50 (13 years ago)
Author:
acosce
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Modipsl_titane

    v2 v3  
    44 
    55== Environnement minimum ==  
    6 Vous devez charger explicitement la bonne bibliothèque NetCDF. Pour cela il faut faire la commande : 
     6 * Vous devez charger explicitement la bonne bibliothèque NetCDF. Pour cela il faut faire la commande : 
    77{{{ 
    88module load netcdf/3.6.3 
     
    1010Vous pouvez également la rajouter dans votre environnement.  
    1111 
     12 * Vérifiez que votre PATH contient bien le path pour l'outil FCM. Plus d'infos [wiki:ModipslBeginner#FCM là]. 
    1213 
     14 
     15[[BR]][[BR]] 
     16== Commandes de soumission de job ==  
     17 * ccc_msub -> soumet un job  
     18 * ccc_mdel ID -> tue un job de n° ID  
     19 * ccc_mstat -u login -> permet de voir tous les jobs soumis par login 
     20 * mpp -> permet de voir tous les jobs soumis sur la machine 
     21 
     22 
     23[[BR]][[BR]] 
     24== Avant de lancer un Job ==  
     25Par défaut les entêtes de Job créés par modipsl sont positionnées pour utiliser les heures genci du groupe gen2211.  
     26[[BR]] 
     27La première chose que vous devez faire c'est de vous demander sur quel compte vous avez des heures de calcul (genci ou dsm ?). Pour cela 
     28vous devez vous reporter à la demande d'heures de calcul faite en début d'année.  
     29 
     30 * Si vous appartenez au groupe gen2211 et que vous avez des heures sur ce projet vous n'avez rien à changer.  
     31 * Si vos heures sont sur un autre projet genci vous devez modifier le numéro de projet dans le fichier libIGCM/AA_job ainsi que dans libIGCM/AA_rebuild_fromWorkdir.  
     32 * Si vos heures sont sur les projets dsm (p24, p86, etc...) vous devez enlever les lignes '''#MSUB -p gen2211''' des fichiers libIGCM/AA_job et libIGCM/AA_rebuild_fromWordir. Et dans ce  
     33dernier remplacer la queue '''mono''' par '''monoext''' 
     34 
     35''Note 1: '' si vous aviez déjà lancé la commande '''./ins_job''' vous devez également modifier les jobs créés (libIGCM/rebuild_fromWorkdir.job et config/.../EXP.../Job...) [[BR]] 
     36''Note 2: '' pour connaître les groupes auxquels vous appartenez vous pouvez utiliser la commande ''' groups'''  
     37 
     38 
     39[[BR]][[BR]] 
     40== Comment choisir le nombre de processus demandés ? ==  
     41La méthode de parallélisation de LMDZ impose la règle suivante : il faut au moins 3 bandes de latitude par processus  
     42Si vous avez choisi un trop grand nombre de processus la simulation s'arrête avec le  
     43message suivant : 
     44{{{ 
     45Arret : le nombre de bande de lattitude par process est trop faible (<2). 
     46  ---> diminuez le nombre de CPU ou augmentez la taille en lattitude 
     47}}} 
     48Pour modifier le nombre de processus il faut changer la valeur de la variable '''!JobNumProcTot''' dans config.card avant de lancer la commande ins_job.  
     49 
     50 
     51[[BR]][[BR]] 
     52== Les post-traitements ==  
     53Les rebuild se font sur la queue mono de titane, et les autres post-traitements sur la machine cesium. 
     54Rappel : Pour que cela marche il faut avoir créé des clés avec une '''passphrase vide''' pour ssh et s'être connecté sur cesium au moins une fois. 
     55(Attention, si vous vous servez pour vos connexions de clés ssh déjà générées avec des passphrases non vides de ne pas les écraser.) 
     56[[BR]] 
     57Mémo : 
     58{{{ 
     59 
     60mercure : cd ~/.ssh 
     61mercure : ssh-keygen -t rsa 
     62Generating public/private rsa key pair. 
     63Enter file in which to save the key (/home/cont003/xxxxxx/.ssh/id_rsa):  
     64Enter passphrase (empty for no passphrase): (RETURN) 
     65Enter same passphrase again: (RETURN) 
     66Your identification has been saved in ...../.ssh/id_rsa. 
     67Your public key has been saved in ...../.ssh/id_rsa.pub. 
     68The key fingerprint is: 
     69af:.... 
     70mercure : cat id_rsa.pub >>authorized_keys 
     71mercure : ssh cesium 
     72}}} 
     73 
     74 
     75 
     76[[BR]][[BR]] 
    1377== Compiler le modèle IPSLCM5A ==  
    1478 
     
    3498}}} 
    3599 
    36 ==== Lancer IPSLCM5A sur la machine Titane (machine Xeon du CCRT) ==== 
    37100 
    38  * Etape préalable : assurez-vous que votre login est autorisé à tourner sur la machine titane à l'aide de la commande groups : 
    39 {{{ 
    40 mercure - /home/cont003/p86caub : groups 
    41 }}} 
    42 Si ce n'est pas le cas, demandez l'autorisation au CCRT en passant par votre responsable de projet. 
    43  
    44 Les étapes à faire sont les mêmes que pour tourner le modèle IPSLCM5A sur mercure, a ceci près : 
    45  
    46  * Avant la compilation ET l'exécution, il faut charger les modules nécessaires : 
    47 {{{ 
    48 module load netcdf/3.6.3 
    49 }}} 
    50  
    51  * N'oubliez pas de verifier que votre PATH contient bien le path pour l'outil FCM. Plus d'infos [wiki:ModipslBeginner#FCM là]. 
    52  
    53  
    54  * 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. 
    55  
    56 {{{ 
    57 JobNumProcTot=32 
    58 }}} 
    59  
    60  * La soumission du job se fait à l'aide de la commande ccc_msub 
    61  
    62 {{{ 
    63 ccc_msub Job 
    64 }}} 
    65  
    66  * A noter, que les post-traitements s'effectueront sur la machine cesium. 
    67 Rappel : Pour que cela marche il faut avoir créé des clés avec une '''passphrase vide''' pour ssh et s'être connecté sur cesium au moins une fois. 
    68 (Attention, si vous vous servez pour vos connexions de clés ssh déjà générées avec des passphrases non vides de ne pas les écraser.) 
    69 [[BR]] 
    70 Mémo : 
    71 {{{ 
    72  
    73 mercure : cd ~/.ssh 
    74 mercure : ssh-keygen -t rsa 
    75 Generating public/private rsa key pair. 
    76 Enter file in which to save the key (/home/cont003/xxxxxx/.ssh/id_rsa):  
    77 Enter passphrase (empty for no passphrase): (RETURN) 
    78 Enter same passphrase again: (RETURN) 
    79 Your identification has been saved in ...../.ssh/id_rsa. 
    80 Your public key has been saved in ...../.ssh/id_rsa.pub. 
    81 The key fingerprint is: 
    82 af:.... 
    83 mercure : cat id_rsa.pub >>authorized_keys 
    84 mercure : ssh cesium 
    85 }}} 
     101[[BR]][[BR]] 
     102== Lancer IPSLCM5A  == 
     103 * Si vous travaillez sur 32 processus ('''!JobNumProcTot=32''') cela signifie que la composante atmosphérique tournera sur 30 CPUs alors que la composante océanique et le coupleur utiliseront chacun 1 CPU. 
    86104 
    87105 * Pour améliorer légerement les performances : 
     
    110128Pour activer cette configuration-là, deux étapes sont nécessaires : 
    111129 
    112     * Compilation :  
    113      * Pour des raison de qualité (restartabilité NEMO), enlever les cles cpp suivantes pour la compilation : key_vectopt_loop key_vectopt_memory. Pour faire cela : 
    114 {{{ 
    115 vi modipsl/config/IPSLCM5A/AA_make  
    116 supprimer les cles cpp "key_vectopt_loop key_vectopt_memory" de la varibale P_P à la ligne : 
    117  
    118 orca2: ../../modeles/NEMO/WORK 
    119        (cd ../../modeles/NEMO/WORK; P_P='key_trabbl_dif key_vectopt_loop key_vectopt_memory ... 
    120  
    121 cd modipsl/util ; ./ins_make 
    122 }}} 
    123      * Compiler NEMO pour qu'il tourne sur 5 process MPI en modifiant directement le code : 
    124 {{{ 
    125 vi modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31) 
    126       jpni   = 1,                   &  !: number of processors following i 
    127       jpnj   = 5,                   &  !: number of processors following j 
    128       jpnij  = 5                       !: nb of local domain = nb of processors 
    129  
    130 cd modipsl/config/IPSLCM5A ; gmake 
    131 }}} 
    132  
    133     * Execution 
    134      * Cas particulier : si vous souhaitez faire utiliser à votre NEMO parallèle un restart généré par un NEMO mono-processeur, alors il faut forcer une resoumission (ccc_msub) apres le 1er run de la simulation. Pour cela : 
     130 * Execution Cas particulier : si vous souhaitez faire utiliser à votre NEMO parallèle un restart généré par un NEMO mono-processeur, alors il faut forcer une resoumission (ccc_msub) apres le 1er run de la simulation. Pour cela : 
    135131      * mettre !PeriodNb=1 dans votre Job ; ccc_msub Job 
    136132      * une fois le 1er run en machine, remettre !PeriodNb=48