/[MITgcm]/MITgcm/tools/build_options/linux_ia32_ifort10.1+mpi_generic
ViewVC logotype

Contents of /MITgcm/tools/build_options/linux_ia32_ifort10.1+mpi_generic

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


Revision 1.2 - (show annotations) (download)
Sun Mar 21 17:59:13 2010 UTC (14 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint63
Changes since 1.1: +5 -3 lines
- remove "-r8 -i4" options (more similar to other compiler optfile).
- does not set FFLAGS (done in genmake2) but append to it.

1 #!/bin/bash
2 #
3 # $Header: /u/gcmpack/MITgcm/tools/build_options/linux_ia32_ifort10.1+mpi_generic,v 1.1 2010/02/16 23:56:02 jmc Exp $
4 # $Name: $
5 #
6 # Constantinos Evangelinos
7 #
8 # Build options for the intel 10.1 fortran compiler with a generic MPI
9 #
10 # DON'T FORGET to set environment variable MPI_INC_DIR to the include
11 # directory of your MPI implementation
12
13 FC=${FC:=mpif77}
14 F90C=${F90C:=mpif90}
15 CC=${CC:=mpicc}
16 LINK="$F90C -shared-intel -no-ipo"
17
18 DEFINES='-DALLOW_USE_MPI -DALWAYS_USE_MPI -DWORDLENGTH=4'
19 CPP='cpp -traditional -P'
20 F90FIXEDFORMAT='-fixed -Tf'
21 EXTENDED_SRC_FLAG='-132'
22
23 NOOPTFLAGS='-O0 -g'
24 NOOPTFILES=''
25
26 INCLUDEDIRS=''
27 INCLUDES=''
28 LIBS=''
29
30 if test "x$DEVEL" != x ; then
31 FFLAGS="$FFLAGS -convert big_endian -assume byterecl -O0 -g -debug all -debug-parameters all -noalign -fp-stack-check -check all -fpe0 -traceback -ftrapuv -fp-model strict -warn all"
32 else
33 FFLAGS="$FFLAGS -W0 -WB -convert big_endian -assume byterecl"
34 fi
35 #- might want to use '-r8' for fizhi pkg:
36 #FFLAGS="$FFLAGS -r8"
37
38 if test "x$GENERIC" != x ; then
39 PROCF=-axSOTPNWK
40 else
41 has_sse4a=f
42 has_sse4=f
43 has_ssse3=f
44 has_sse3=f
45 has_sse2=f
46 has_sse=f
47 is_opteron=f
48 is_pentiumm=f
49 grep flags /proc/cpuinfo | grep " sse4a " > /dev/null 2>&1 && has_sse4a=t
50 grep flags /proc/cpuinfo | grep " sse4 " > /dev/null 2>&1 && has_sse4=t
51 grep flags /proc/cpuinfo | grep " sse3 " > /dev/null 2>&1 && has_ssse3=t
52 grep flags /proc/cpuinfo | grep " sse3 " > /dev/null 2>&1 && has_sse3=t
53 grep flags /proc/cpuinfo | grep " sse2 " > /dev/null 2>&1 && has_sse2=t
54 grep flags /proc/cpuinfo | grep " sse " > /dev/null 2>&1 && has_sse=t
55 grep "model name" /proc/cpuinfo | grep " Opteron" > /dev/null 2>&1 && is_opteron=t
56 grep "model name" /proc/cpuinfo | grep " Phenom" > /dev/null 2>&1 && is_opteron=t
57 grep "model name" /proc/cpuinfo | grep " Athlon 64" > /dev/null 2>&1 && is_opteron=t
58 grep "model name" /proc/cpuinfo | grep " Pentium(R) M" > /dev/null 2>&1 && is_pentiumm=t
59 if test "x$has_sse4a" = xt ; then
60 PROCF=-xO
61 elif test "x$has_sse4" = xt ; then
62 PROCF=-xS
63 elif test "x$has_ssse3" = xt ; then
64 PROCF=-xT
65 elif test "x$has_sse3" = xt ; then
66 if test "x$is_opteron" = xt ; then
67 PROCF=-xO
68 else
69 PROCF=-xP
70 fi
71 elif test "x$has_sse2" = xt ; then
72 if test "x$is_pentiumm" = xt ; then
73 PROCF=-xB
74 elif test "x$is_opteron" = xt ; then
75 PROCF=-xW
76 else
77 PROCF=-xN
78 fi
79 elif test "x$has_sse" = xt ; then
80 PROCF=-xK
81 fi
82 fi
83 # Note that the -mp switch is for ieee "maintain precision" and is
84 # roughly equivalent to -ieee
85 if test "x$IEEE" = x ; then
86 FOPTIM="-O3 -align -ip -opt-streaming-stores auto $PROCF"
87 else
88 if test "x$DEVEL" != x ; then
89 FOPTIM="$PROCF"
90 else
91 FOPTIM="-O0 -mp -noalign $PROCF"
92 fi
93 fi
94 F90FLAGS=$FFLAGS
95 F90OPTIM=$FOPTIM
96 CFLAGS="-O2 -ip $PROCF"
97
98 if [ "x$NETCDF_ROOT" != x ] ; then
99 INCLUDEDIRS="${NETCDF_ROOT}/include"
100 INCLUDES="-I${NETCDF_ROOT}/include"
101 LIBS="-L${NETCDF_ROOT}/lib"
102 elif [ "x$NETCDF_HOME" != x ]; then
103 INCLUDEDIRS="${NETCDF_HOME}/include"
104 INCLUDES="-I${NETCDF_HOME}/include"
105 LIBS="-L${NETCDF_HOME}/lib"
106 elif [ "x$NETCDF_INC" != x -a "x$NETCDF_LIB" != x ]; then
107 NETCDF_INC=`echo $NETCDF_INC | sed 's/-I//g'`
108 NETCDF_LIB=`echo $NETCDF_LIB | sed 's/-L//g'`
109 INCLUDEDIRS="${NETCDF_INC}"
110 INCLUDES="-I${NETCDF_INC}"
111 LIBS="-L${NETCDF_LIB}"
112 elif [ "x$NETCDF_INCDIR" != x -a "x$NETCDF_LIBDIR" != x ]; then
113 INCLUDEDIRS="${NETCDF_INCDIR}"
114 INCLUDES="-I${NETCDF_INCDIR}"
115 LIBS="-L${NETCDF_LIBDIR}"
116 elif test -d /usr/include/netcdf-3 ; then
117 INCLUDEDIRS='/usr/include/netcdf-3'
118 INCLUDES='-I/usr/include/netcdf-3'
119 LIBS='-L/usr/lib/netcdf-3'
120 elif test -d /usr/local/pkg/netcdf ; then
121 INCLUDEDIRS='/usr/local/pkg/netcdf/include'
122 INCLUDES='-I/usr/local/pkg/netcdf/include'
123 LIBS='-L/usr/local/pkg/netcdf/lib'
124 elif test -d /usr/include/netcdf ; then
125 INCLUDEDIRS='/usr/include/netcdf'
126 INCLUDES='-I/usr/include/netcdf'
127 elif test -d /usr/local/netcdf ; then
128 INCLUDEDIRS='/usr/include/netcdf/include'
129 INCLUDES='-I/usr/local/netcdf/include'
130 LIBS='-L/usr/local/netcdf/lib'
131 elif test -f /usr/local/include/netcdf.inc ; then
132 INCLUDEDIRS='/usr/local/include'
133 INCLUDES='-I/usr/local/include'
134 LIBS='-L/usr/local/lib'
135 fi
136
137 INCLUDES="$INCLUDES -I$MPI_INC_DIR"
138 INCLUDEDIRS="$INCLUDEDIRS $MPI_INC_DIR"
139 MPIINCLUDEDIR="$MPI_INC_DIR"
140 MPI_HEADER_FILES='mpif.h mpiof.h'
141 MPI_HEADER_FILES_INC='./mpi_headers/mpif.h ./mpi_headers/mpiof.h'

  ViewVC Help
Powered by ViewVC 1.1.22