101 | | * il faut supprimer les 2 clés : "key_vectopt_loop key_vectopt_memory" dans config/IPSLCM5A/AA_make |
102 | | * il faut explicitement demander l'utilisation de 5 processeurs pour NEMO. Sinon le message est : |
103 | | {{{ |
104 | | xmlf90 ../../../lib/libioipsl.a -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf |
105 | | /applications/intel/cprof/11.1.056/lib/intel64/libimf.so: warning: warning: feupdateenv is not implemented and will always fail |
106 | | ../../../lib/libopa.a(opa.o): In function `opa_mp_opa_model_': |
107 | | opa.F90:(.text+0x2a5): relocation truncated to fit: R_X86_64_PC32 against symbol `dom_oce_mp_narea_' defined in COMMON section in ../../../lib/libopa.a(dom_oce.o) |
108 | | opa.F90:(.text+0x8bb): relocation truncated to fit: R_X86_64_PC32 against symbol `in_out_manager_mp_nprint_' defined in COMMON section in ../../../lib/libopa.a(in_out_manager.o) |
109 | | ... |
110 | | opa.F90:(.text+0xa4d): additional relocation overflows omitted from the output |
111 | | gmake[2]: *** [../../../bin/opa] Error 1 |
112 | | }}} |
113 | | La correction à faire est la suivante : |
114 | | {{{ |
115 | | dans modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31) |
116 | | jpni = 1, & !: number of processors following i |
117 | | jpnj = 5, & !: number of processors following j |
118 | | jpnij = 5 !: nb of local domain = nb of |
119 | | processors |
120 | | }}} |
| 104 | Depuis décembre 2011, le couplé IPSLCM5A compile sans aucune modification sur titane. |
127 | | * Pour améliorer légerement les performances : |
128 | | |
129 | | La configuration par défaut du modèle couplé à la résolution 96x95x39 est quasiment équilibrée, cad que le modèle d'atmosphère sur 30 CPUs est très légerement plus rapide que le modèle d'ocean sur 1 CPU. |
130 | | [[BR]] |
131 | | 1 jour simulé par LMDZ sur 30 CPUs : 25s |
132 | | [[BR]] |
133 | | 1 jour simulé par NEMO sur 1 CPU : 27s |
134 | | [[BR]] |
135 | | ce qui donne 1 mois simulé en 900s (par comparaison on a 1 mois simulé en 600s sur 4 CPUs SX9). |
136 | | |
137 | | |
138 | | On voit donc que c'est le modèle d'océan qui va "guider" le temps de restitution du modèle couplé complet. En utilisant 2 process MPI pour l'océan on obtient : |
139 | | [[BR]] |
140 | | 1 jour simulé par LMDZ sur 29 CPUs : 25s |
141 | | [[BR]] |
142 | | 1 jour simulé par NEMO sur 2 CPU : 15s |
143 | | [[BR]] |
144 | | ce qui va donner 1 mois simulé en 840s. |
145 | | |
146 | | On voit donc que désormais, c'est le modèle d'atmosphère qui va "guider" le temps de restitution du modèle couplé complet. Mais à cette résolution là, il n'est pas possible d'utiliser plus de process pour LMDZ en parallélisation MPI seule (limite à 3 bandes de latitudes par process MPI). |
147 | | |
148 | | La configuration idéale est donc : 29 CPUs ATM, 2 CPUs OCE et 1 CPU pour Oasis (lorsque PISCES n'est pas activé). |
149 | | Si PISCES est activé (c'est le cas avec IPSLCM5A CMIP5) la configuration ideale est : 26 CPUs ATM, 5 CPUs OCE et 1 CPU pour Oasis |
150 | | Pour activer cette configuration-là, deux étapes sont nécessaires : |
| 110 | * Si vous travaillez sur 32 processus ('''!JobNumProcTot=32''') cela signifie que la composante atmosphérique tournera sur 26 CPUs alors que la composante océanique sur 5 CPUs et le coupleur oasis une seule. C'est ce qui se passe par défaut. |