/[MITgcm]/MITgcm/tools/build_options/linux_ia32_ifort10.1_generic_mpi
ViewVC logotype

Contents of /MITgcm/tools/build_options/linux_ia32_ifort10.1_generic_mpi

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


Revision 1.1 - (show annotations) (download)
Mon Jun 22 23:13:30 2009 UTC (14 years, 9 months ago) by ce107
Branch: MAIN
CVS Tags: checkpoint62c, checkpoint62b, checkpoint62a, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint62, checkpoint61z, checkpoint61x, checkpoint61y
New and updated optfiles for Intel 11, 10.1 and Pathscale/Open64.

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

  ViewVC Help
Powered by ViewVC 1.1.22