/[MITgcm]/MITgcm/tools/build_options/linux_ia64_ifort
ViewVC logotype

Annotation of /MITgcm/tools/build_options/linux_ia64_ifort

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.8 - (hide annotations) (download)
Mon Jul 22 18:40:45 2013 UTC (10 years, 9 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64k, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
Changes since 1.7: +3 -3 lines
- remove MPI_HEADER_FILES_INC setting (no longer used)
- for now, comment out MPI_HEADER_FILES list (let genmake2 find which
   MPI header is needed)

1 heimbach 1.1 #!/bin/bash
2     #
3 jmc 1.8 # $Header: /u/gcmpack/MITgcm/tools/build_options/linux_ia64_ifort,v 1.7 2012/01/11 20:37:01 jmc Exp $
4 jmc 1.4 # $Name: $
5    
6 mlosch 1.6 # Tested on uv100.awi.de (SGI UV 100, details:
7     # http://www.sgi.com/products/servers/uv/specs.html)
8     # a) For more speed, provided your data size does not exceed 2GB you can
9 jmc 1.4 # remove -fPIC which carries a performance penalty of 2-6%.
10 jmc 1.7 # b) You can replace -fPIC with '-mcmodel=medium -shared-intel' which may
11 mlosch 1.6 # perform faster than -fPIC and still support data sizes over 2GB per
12 jmc 1.7 # process but all the libraries you link to must be compiled with
13 mlosch 1.6 # -fPIC or -mcmodel=medium
14     # c) flags adjusted for ifort 12.1.0
15 heimbach 1.1
16     FC=ifort
17     F90C=ifort
18     CC=icc
19 mlosch 1.6 # requires that all static libraries are available:
20     #LINK='ifort -static'
21     LINK='ifort'
22     # for adjoint runs the default makedepend often cannot handle enough files
23     #MAKEDEPEND=tools_xmakedepend
24 jmc 1.4
25 heimbach 1.1 DEFINES='-DWORDLENGTH=4'
26 mlosch 1.6 CPP='cpp -traditional -P'
27 jmc 1.7 F90FIXEDFORMAT='-fixed -Tf'
28 dfer 1.3 EXTENDED_SRC_FLAG='-132'
29 jmc 1.4 #OMPFLAG='-openmp'
30 heimbach 1.1
31 jmc 1.7 NOOPTFLAGS="-O0 -g -m64"
32     NOOPTFILES=''
33 heimbach 1.1
34 mlosch 1.6 MCMODEL='-fPIC'
35     # for large memory requirements uncomment this line
36     #MCMODEL='-mcmodel=medium -shared-intel'
37    
38 jmc 1.7 FFLAGS="$FFLAGS -W0 -WB -convert big_endian -assume byterecl $MCMODEL"
39 jmc 1.4 #- might want to use '-r8' for fizhi pkg:
40     #FFLAGS="$FFLAGS -r8"
41 heimbach 1.1
42 jmc 1.7 if test "x$IEEE" = x ; then #- with optimisation:
43 mlosch 1.6 FOPTIM='-O3 -align'
44     # does not work when -static does not work
45     # FOPTIM='-fast -align'
46     # instead you can use
47     # FOPTIM='-O3 -ipo -align'
48 heimbach 1.1 else
49 jmc 1.7 if test "x$DEVEL" = x ; then #- no optimisation + IEEE :
50     FOPTIM='-O0 -noalign -fp-model precise'
51     # -fltconsistency
52     else #- development/check options:
53     FOPTIM='-O0 -noalign -fp-model precise'
54     FOPTIM="$FOPTIM -g -check all -fpe0 -traceback -ftrapuv -fp-model except -warn all"
55     fi
56 heimbach 1.1 fi
57 jmc 1.7
58 heimbach 1.1 F90FLAGS=$FFLAGS
59     F90OPTIM=$FOPTIM
60 mlosch 1.6 CFLAGS="-O0 -ip $MCMODEL"
61 heimbach 1.1
62 jmc 1.7 INCLUDEDIRS=''
63     INCLUDES=''
64     LIBS=''
65    
66 heimbach 1.1 if [ "x$NETCDF_ROOT" != x ] ; then
67     INCLUDEDIRS="${NETCDF_ROOT}/include"
68     INCLUDES="-I${NETCDF_ROOT}/include"
69     LIBS="-L${NETCDF_ROOT}/lib"
70     elif [ "x$NETCDF_HOME" != x ]; then
71     INCLUDEDIRS="${NETCDF_HOME}/include"
72     INCLUDES="-I${NETCDF_HOME}/include"
73     LIBS="-L${NETCDF_HOME}/lib"
74     elif [ "x$NETCDF_INC" != x -a "x$NETCDF_LIB" != x ]; then
75     NETCDF_INC=`echo $NETCDF_INC | sed 's/-I//g'`
76     NETCDF_LIB=`echo $NETCDF_LIB | sed 's/-L//g'`
77     INCLUDEDIRS="${NETCDF_INC}"
78     INCLUDES="-I${NETCDF_INC}"
79     LIBS="-L${NETCDF_LIB}"
80     elif [ "x$NETCDF_INCDIR" != x -a "x$NETCDF_LIBDIR" != x ]; then
81     INCLUDEDIRS="${NETCDF_INCDIR}"
82     INCLUDES="-I${NETCDF_INCDIR}"
83     LIBS="-L${NETCDF_LIBDIR}"
84     elif test -d /usr/include/netcdf-3 ; then
85     INCLUDEDIRS='/usr/include/netcdf-3'
86     INCLUDES='-I/usr/include/netcdf-3'
87     LIBS='-L/usr/lib/netcdf-3 -L/usr/lib64/netcdf-3'
88     elif test -d /usr/include/netcdf ; then
89     INCLUDEDIRS='/usr/include/netcdf'
90     INCLUDES='-I/usr/include/netcdf'
91     elif test -d /usr/local/netcdf ; then
92     INCLUDEDIRS='/usr/include/netcdf/include'
93     INCLUDES='-I/usr/local/netcdf/include'
94     LIBS='-L/usr/local/netcdf/lib'
95     elif test -d /usr/local/include/netcdf.inc ; then
96     INCLUDEDIRS='/usr/local/include'
97     INCLUDES='-I/usr/local/include'
98     LIBS='-L/usr/local/lib64'
99     fi
100    
101 mlosch 1.6 if [ -n "$MPI_INC_DIR" -a "x$MPI" = xtrue ] ; then
102     LIBS="$LIBS -lmpi"
103     INCLUDES="$INCLUDES -I$MPI_INC_DIR"
104     INCLUDEDIRS="$INCLUDEDIRS $MPI_INC_DIR"
105 jmc 1.8 #- used for parallel (MPI) DIVA
106 mlosch 1.6 MPIINCLUDEDIR="$MPI_INC_DIR"
107 jmc 1.8 #MPI_HEADER_FILES='mpif.h mpiof.h'
108 mlosch 1.6 fi
109    

  ViewVC Help
Powered by ViewVC 1.1.22