| 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 == |
| 25 | Par défaut les entêtes de Job créés par modipsl sont positionnées pour utiliser les heures genci du groupe gen2211. |
| 26 | [[BR]] |
| 27 | La 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 |
| 28 | vous 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 |
| 33 | dernier 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 ? == |
| 41 | La méthode de parallélisation de LMDZ impose la règle suivante : il faut au moins 3 bandes de latitude par processus |
| 42 | Si vous avez choisi un trop grand nombre de processus la simulation s'arrête avec le |
| 43 | message suivant : |
| 44 | {{{ |
| 45 | Arret : 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 | }}} |
| 48 | 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. |
| 49 | |
| 50 | |
| 51 | [[BR]][[BR]] |
| 52 | == Les post-traitements == |
| 53 | Les rebuild se font sur la queue mono de titane, et les autres post-traitements sur la machine cesium. |
| 54 | 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. |
| 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]] |
| 57 | Mémo : |
| 58 | {{{ |
| 59 | |
| 60 | mercure : cd ~/.ssh |
| 61 | mercure : ssh-keygen -t rsa |
| 62 | Generating public/private rsa key pair. |
| 63 | Enter file in which to save the key (/home/cont003/xxxxxx/.ssh/id_rsa): |
| 64 | Enter passphrase (empty for no passphrase): (RETURN) |
| 65 | Enter same passphrase again: (RETURN) |
| 66 | Your identification has been saved in ...../.ssh/id_rsa. |
| 67 | Your public key has been saved in ...../.ssh/id_rsa.pub. |
| 68 | The key fingerprint is: |
| 69 | af:.... |
| 70 | mercure : cat id_rsa.pub >>authorized_keys |
| 71 | mercure : ssh cesium |
| 72 | }}} |
| 73 | |
| 74 | |
| 75 | |
| 76 | [[BR]][[BR]] |
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. |
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 : |