16
16
# targets list of possible targets (e.g. gpu, cpu)
17
17
# compilers list of possible compilers for Fortran parts
18
18
# target default target
19
- # BOOST_PATH The boost installation path (for both fortran and C++ dependencies)
19
+ # BOOST_PATH The boost installation path (for both fortran and C++ dependencies)
20
20
# compiler default compiler to use for Fortran parts
21
21
# debug build in debugging mode (yes/no)
22
22
# cleanup clean before build (yes/no)
@@ -25,17 +25,15 @@ setupDefaults()
25
25
{
26
26
# available options
27
27
targets=(cpu gpu)
28
- compilers=(gnu cray pgi)
28
+ compilers=(gnu cray pgi claw-cray claw-pgi claw-gnu )
29
29
fcompiler_cmds=(ftn)
30
30
31
- # Daint and DOM environement should be indentical and using
32
- # the Daint installed Boost is fine
33
31
# Module display boost
34
32
export BOOST_PATH=" /project/c14/install/daint/boost/boost_1_49_0"
35
33
36
34
# Check if ncurses was loaded before
37
35
export BUILDENV_NCURSES_LOADED=` module list -t 2>&1 | grep " ncurses" `
38
-
36
+
39
37
# default options
40
38
if [ -z " ${target} " ] ; then
41
39
target=" gpu"
@@ -57,7 +55,7 @@ get_fcompiler_cmd()
57
55
{
58
56
local __resultvar=$1
59
57
local __compiler=$2
60
- if [ " ${compiler} " == " gnu" ] ; then
58
+ if [ " ${compiler} " == " gnu" ] || [ " ${compiler} " == " claw-gnu " ] ; then
61
59
myresult=" gfortran"
62
60
else
63
61
myresult=" ftn"
@@ -95,14 +93,12 @@ setCppEnvironment()
95
93
else
96
94
module swap ${old_prgenv} PrgEnv-gnu
97
95
fi
98
-
96
+
99
97
# standard modules (part 1)
100
98
if [ " ${target} " == " gpu" ] ; then
101
99
module load craype-accel-nvidia60
102
100
fi
103
-
104
- module load CMake
105
-
101
+ module load cudatoolkit
106
102
# Fortran compiler specific modules and setup
107
103
case " ${compiler} " in
108
104
cray )
@@ -158,13 +154,11 @@ unsetCppEnvironment()
158
154
exit 1
159
155
esac
160
156
161
- module unload CMake
162
-
163
157
# unload curses in case it was already loaded
164
158
if [ -z " ${BUILDENV_NCURSES_LOADED} " ] ; then
165
159
module unload ncurses
166
160
fi
167
-
161
+
168
162
# remove standard modules (part 1)
169
163
if [ " ${target} " == " gpu" ] ; then
170
164
module unload craype-accel-nvidia60
@@ -210,48 +204,64 @@ setFortranEnvironment()
210
204
else
211
205
module swap ${old_prgenv} PrgEnv-${compiler}
212
206
fi
213
-
207
+
214
208
old_ldflags=" ${LDFLAGS} "
215
-
209
+
210
+ # Set grib-api version and cosmo ressources
211
+ export GRIBAPI_VERSION=" libgrib_api_1.20.0p4"
212
+ export GRIBAPI_COSMO_RESOURCES_VERSION=" v1.20.0.2"
213
+
216
214
# standard modules (part 1)
217
- module load CMake
215
+
218
216
if [ " ${target} " == " gpu" ] ; then
219
217
module load craype-accel-nvidia60
220
218
fi
221
219
222
220
# compiler specific modules
223
221
case " ${compiler} " in
224
- cray )
225
- module load cce/8.7.1
226
- # Load gcc/5.3.0 to link with the C++ Dynamical Core
227
- module load gcc/5.3.0
222
+ * cray )
223
+ module load cdt/19.10
224
+ module swap cce/9.0.2
225
+ # Load gcc/8.3.0 to link with the C++ Dynamical Core
226
+ module load gcc/8.3.0
227
+ export LD_LIBRARY_PATH=$CRAY_LD_LIBRARY_PATH :$LD_LIBRARY_PATH
228
228
# Override C++ and C compiler
229
229
export CXX=$GCC_PATH /snos/bin/g++
230
230
export CC=$GCC_PATH /snos/bin/gcc
231
231
export FC=ftn
232
232
export LDFLAGS=" -L$GCC_PATH /snos/lib64 ${LDFLAGS} "
233
233
;;
234
- gnu )
234
+ * gnu )
235
235
module unload gcc
236
- module load gcc/5 .3.0
236
+ module load gcc/8 .3.0
237
237
export CXX=CC
238
238
export CC=cc
239
239
export FC=ftn
240
240
;;
241
- pgi )
242
- module unload pgi
243
- module load pgi/18.3.0
244
- # Load gcc/5 .3.0 to link with the C++ Dynamical Core
245
- module load gcc/5 .3.0
241
+ * pgi )
242
+ module swap pgi/20.1.0
243
+ export CUDA_HOME= ${CUDATOOLKIT_HOME}
244
+ # Load gcc/8 .3.0 to link with the C++ Dynamical Core
245
+ module load gcc/8 .3.0
246
246
export CXX=$GCC_PATH /snos/bin/g++
247
247
export CC=$GCC_PATH /snos/bin/gcc
248
248
export FC=ftn
249
- export LDFLAGS=" -L/opt/gcc/5 .3.0/snos/lib64 ${LDFLAGS} "
249
+ export LDFLAGS=" -L/opt/gcc/8 .3.0/snos/lib64 ${LDFLAGS} "
250
250
;;
251
251
* )
252
252
echo " ERROR: Unsupported compiler encountered in setFortranEnvironment" 1>&2
253
253
exit 1
254
254
esac
255
+
256
+ if [[ -z " $CLAWFC " ]]; then
257
+ # CLAW Compiler using the correct preprocessor
258
+ export CLAWFC=" ${installdir} /claw_v1.2.3/${compiler} /bin/clawfc"
259
+ fi
260
+ export CLAWXMODSPOOL=" ${installdir} /../omni-xmod-pool"
261
+
262
+ # Set grib-api version and cosmo ressources
263
+ export GRIBAPI_VERSION=" libgrib_api_1.20.0p4"
264
+ export GRIBAPI_COSMO_RESOURCES_VERSION=" v1.20.0.2"
255
265
256
266
# standard modules (part 2)
257
267
module load cray-netcdf
@@ -270,28 +280,33 @@ unsetFortranEnvironment()
270
280
271
281
# remove compiler specific modules
272
282
case " ${compiler} " in
273
- cray )
274
- module unload gcc/5.3.0
283
+ * cray )
284
+ module unload gcc/8.3.0
285
+ # XL: try to restore system default manually since
286
+ # this gives an error : source /opt/cray/pe/cdt/17.08/restore_system_defaults.sh
287
+ module unload cdt/19.10
288
+ module unload cray-libsci_acc/19.06.1
289
+ module swap cray-mpich/7.7.10
275
290
;;
276
- gnu )
277
- module unload gcc/5 .3.0
291
+ * gnu )
292
+ module unload gcc/8 .3.0
278
293
module load gcc
279
294
;;
280
- pgi )
281
- module unload gcc/5 .3.0
295
+ * pgi )
296
+ module unload gcc/8 .3.0
282
297
;;
283
298
* )
284
299
echo " ERROR: Unsupported compiler encountered in unsetFortranEnvironment" 1>&2
285
300
exit 1
286
301
esac
287
302
288
303
# remove standard modules (part 1)
289
- module unload CMake
304
+
290
305
# unload curses in case it was already loaded
291
306
if [ -z " ${BUILDENV_NCURSES_LOADED} " ] ; then
292
307
module unload ncurses
293
308
fi
294
-
309
+
295
310
# GPU specific unload
296
311
if [ " ${target} " == " gpu" ] ; then
297
312
module unload craype-accel-nvidia60
@@ -304,10 +319,10 @@ unsetFortranEnvironment()
304
319
module swap PrgEnv-${compiler} ${old_prgenv}
305
320
fi
306
321
unset old_prgenv
307
-
322
+
308
323
export LDFLAGS=" ${old_ldflags} "
309
324
unset old_ldflags
310
-
325
+
311
326
unset CXX
312
327
unset CC
313
328
unset FC
0 commit comments