1 |
#!/bin/bash |
#!/bin/bash |
2 |
# |
# |
3 |
# $Header$ |
# $Header$ |
4 |
|
# $Name$ |
5 |
# |
# |
6 |
# build options used with the Intel compiler, version 8 and 9, |
# build options used with the Intel compiler, version 8 and 9, |
7 |
# for the daily testing on ACES (which are initiated by cron jobs |
# for the daily testing on ACES (which are initiated by cron jobs |
8 |
# on the "ao" head node). |
# on the "ao" head node). |
9 |
# |
# |
10 |
# Needs the appropriate module commands, |
# Needs the appropriate module commands, |
14 |
#-- using default intel (v8.1) and default mpich/intel: |
#-- using default intel (v8.1) and default mpich/intel: |
15 |
# module add mpich/intel |
# module add mpich/intel |
16 |
# module add netcdf/3.6.1/icc |
# module add netcdf/3.6.1/icc |
17 |
# e.g.(sh,bash): |
# e.g.(sh,bash): |
18 |
# export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-intel/include/' |
# export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-intel/include/' |
19 |
# (and run using mpirun -machinefile my_list_of_nodes) |
# (and run using mpirun -machinefile my_list_of_nodes) |
20 |
# |
# |
21 |
#-- using intel v9.0 and mpich2-intel, in this order: |
#-- using intel v9.0 and mpich2-intel, in this order: |
22 |
# module add ifc/9.0.021 icc/9.0.021 intel/9.0 |
# module add ifc/9.0.021 icc/9.0.021 intel/9.0 |
23 |
# module add mpich2/1.0.3/intel |
# module add mpich2/1.0.3/intel |
24 |
# module add netcdf/3.6.1/icc |
# module add netcdf/3.6.1/icc |
25 |
# module add mpiexec (<-- to run with mpiexec) |
# module add mpiexec (<-- to run with mpiexec) |
26 |
# e.g.(sh,bash): |
# e.g.(sh,bash): |
27 |
# export MPI_INC_DIR='/usr/local/pkg/mpich2/mpich2-1.0.3/intel/include/' |
# export MPI_INC_DIR='/usr/local/pkg/mpich2/mpich2-1.0.3/intel/include/' |
28 |
# (and run using mpiexec) |
# (and run using mpiexec) |
29 |
# |
# |
31 |
# -several problems with earlier version of ifort (including some version 8) |
# -several problems with earlier version of ifort (including some version 8) |
32 |
# -with version 9 and more recent one: |
# -with version 9 and more recent one: |
33 |
# 1) compile with genmake2 -omp option ; |
# 1) compile with genmake2 -omp option ; |
34 |
# 2) needs to set environment variable OMP_NUM_THREADS, and generally, |
# 2) needs to set environment variable OMP_NUM_THREADS, and generally, |
35 |
# needs also to increase the thread stack-size: |
# needs also to increase the thread stack-size: |
36 |
# (sh, bash) > export OMP_NUM_THREADS=2 |
# (sh, bash) > export OMP_NUM_THREADS=2 |
37 |
# > export KMP_STACKSIZE=400m |
# > export KMP_STACKSIZE=400m |
38 |
# (csh,tcsh) > setenv OMP_NUM_THREADS 2 |
# (csh,tcsh) > setenv OMP_NUM_THREADS 2 |
39 |
# > setenv KMP_STACKSIZE 400m |
# > setenv KMP_STACKSIZE 400m |
40 |
# NOTE: set KMP_STACKSIZE in .bashrc/.profile/.cshrc/.tcshrc is the easiest |
# NOTE: set KMP_STACKSIZE in .bashrc/.profile/.cshrc/.tcshrc is the easiest |
41 |
# way (I found) to set it for all proc; not an issue (?) for OMP_NUM_THREADS |
# way (I found) to set it for all proc; not an issue (?) for OMP_NUM_THREADS |
42 |
|
|
43 |
# Notes: the PBS -V option for exporting environment variables does not work |
# Notes: the PBS -V option for exporting environment variables does not work |
48 |
F90C='mpif90 -fixed -c ' |
F90C='mpif90 -fixed -c ' |
49 |
LINK='mpif77' |
LINK='mpif77' |
50 |
|
|
51 |
#-- for NetCDF: |
#-- for NetCDF: |
52 |
INCLUDES="-I$NETCDF_INCDIR" |
INCLUDES="-I$NETCDF_INCDIR" |
53 |
INCLUDEDIRS=$NETCDF_INCDIR |
INCLUDEDIRS=$NETCDF_INCDIR |
54 |
LIBS="-L$NETCDF_LIBDIR" |
LIBS="-L$NETCDF_LIBDIR" |
74 |
FOPTIM='-O3 -align' |
FOPTIM='-O3 -align' |
75 |
#P3 FOPTIM=$FOPTIM' -tpp6 -xWKM' |
#P3 FOPTIM=$FOPTIM' -tpp6 -xWKM' |
76 |
#P4 FOPTIM=$FOPTIM' -tpp7 -xWKM' |
#P4 FOPTIM=$FOPTIM' -tpp7 -xWKM' |
77 |
FFLAGS='-r8 -i4 -w95 -W0 -WB -assume byterecl -convert big_endian' |
FFLAGS="$FFLAGS -r8 -i4 -w95 -W0 -WB -assume byterecl -convert big_endian" |
78 |
else |
else |
79 |
# FOPTIM='-O0 -noalign -CA -CB -CU -CV -CS' |
# FOPTIM='-O0 -noalign -CA -CB -CU -CV -CS' |
80 |
FOPTIM='-O0 -noalign -CB -CU -CV' |
FOPTIM='-O0 -noalign -CB -CU -CV' |
81 |
FFLAGS='-r8 -i4 -w95 -W0 -WB -pc64 -xW -assume byterecl -convert big_endian' |
FFLAGS="$FFLAGS -w95 -W0 -WB -pc64 -xW -assume byterecl -convert big_endian" |
82 |
# FLAGS='-mp -r8 -i4 -w95 -W0 -WB -assume byterecl -convert big_endian' |
# FLAGS="$FFLAGS -mp -w95 -W0 -WB -assume byterecl -convert big_endian" |
83 |
fi |
fi |
84 |
|
#- might want to use '-r8' for fizhi pkg: |
85 |
|
#FFLAGS="$FFLAGS -r8" |
86 |
|
|
87 |
F90FLAGS=$FFLAGS |
F90FLAGS=$FFLAGS |
88 |
F90OPTIM=$FOPTIM |
F90OPTIM=$FOPTIM |
89 |
|
|