96 | | |
97 | | [[BR]] [[BR]] |
98 | | == Spécificité titane == |
99 | | Pour compiler sur titane, il faut charger explicitement la bonne bibliothèque NetCDF. Faire : |
100 | | {{{ |
101 | | module load netcdf/3.6.3 |
102 | | }}} |
103 | | |
104 | | Pour compiler le couplé, voir plus loin les détails : |
105 | | * il faut supprimer les 2 clés : "key_vectopt_loop key_vectopt_memory" dans config/IPSLCM5A/AA_make |
106 | | * il faut explicitement demander l'utilisation de 5 processeurs pour NEMO. Sinon le message est : |
107 | | {{{ |
108 | | xmlf90 ../../../lib/libioipsl.a -L/applications/netcdf-3.6.3/lib -lnetcdff -lnetcdf |
109 | | /applications/intel/cprof/11.1.056/lib/intel64/libimf.so: warning: warning: feupdateenv is not implemented and will always fail |
110 | | ../../../lib/libopa.a(opa.o): In function `opa_mp_opa_model_': |
111 | | 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) |
112 | | 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) |
113 | | ... |
114 | | opa.F90:(.text+0xa4d): additional relocation overflows omitted from the output |
115 | | gmake[2]: *** [../../../bin/opa] Error 1 |
116 | | }}} |
117 | | La correction à faire est la suivante : |
118 | | {{{ |
119 | | dans modipsl/modeles/NEMO/WORK/par_oce.F90 (lignes 29-31) |
120 | | jpni = 1, & !: number of processors following i |
121 | | jpnj = 5, & !: number of processors following j |
122 | | jpnij = 5 !: nb of local domain = nb of |
123 | | processors |
124 | | |
125 | | }}} |
126 | | |
127 | | |
128 | | [[BR]] [[BR]] |
129 | | == Spécificité SX8 == |
130 | | Pour compiler pour la SX8, il faut explicitement charger netcdf pour SX8. Le plus simple est de se préparer une fonction pour cela, par exemple sx8 : |
131 | | {{{ |
132 | | sx8 () { module load netcdf_sx8 ; export PS1="SX8"' - $PWD : ' ; } |
133 | | }}} |
134 | | |
135 | | |
136 | | [[BR]] [[BR]] |
137 | | == Spécificité SX9 == |
138 | | Pour compiler pour la SX9, il faut vous placer dans l'environnement SX9. Le plus simple est de se préparer une fonction pour cela, par exemple sx9 : |
139 | | {{{ |
140 | | sx9 () { module switch SX8 SX9 ; module load netcdf_sx9 ; export PS1="SX9"' - $PWD : ' ; } |
141 | | }}} |
142 | | |
143 | | A noter : si vous recompilez en restant en SX8 alors que tout a été fait en SX9 jusque là, vous aurez le message suivant d'erreur et aucune recompilation ne se fera. |
144 | | {{{ |
145 | | **************************************************************** |
146 | | INFO - This Makefile is for host type : sx9mercure |
147 | | INFO - Host used has type : sx8mercure |
148 | | **************************************************************** |
149 | | ERROR - This Makefile is not compatible whith the host ! |
150 | | **************************************************************** |
151 | | Makefile:22: *** . Stop. |
152 | | }}} |
153 | | |
154 | | Plus d'informations sur la compilation SX9/SX8 : [http://wiki.ipsl.jussieu.fr/Pole/Couple/CCRT/SX9 là (Intranet)] |
| 96 | == Spécificités de compilation suivant les machines == |
| 97 | * [https://forge.ipsl.jussieu.fr/igcmg/wiki/Modipsl_mercure#CompilationsurlaSX8 mercure SX8] |
| 98 | * [https://forge.ipsl.jussieu.fr/igcmg/wiki/Modipsl_mercure#CompilationsurlaSX9 mercure SX9] |
| 99 | * [https://forge.ipsl.jussieu.fr/igcmg/wiki/Modipsl_titane#CompilerlemodèleIPSLCM5A titane] |