/[MITgcm]/MITgcm/tools/build_options/linux_amd64_ifort+mpi_beagle
ViewVC logotype

Contents of /MITgcm/tools/build_options/linux_amd64_ifort+mpi_beagle

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


Revision 1.5 - (show annotations) (download)
Thu Oct 15 23:06:32 2009 UTC (14 years, 5 months ago) by jahn
Branch: MAIN
CVS Tags: checkpoint62c, checkpoint62b, checkpoint62a, checkpoint61x, checkpoint61y, checkpoint61z, checkpoint62
Changes since 1.4: +7 -5 lines
switch to -O2 and add comment on options for exact 2+2=4

1 #!/bin/bash
2 #
3 # $Header: /u/gcmpack/MITgcm/tools/build_options/linux_amd64_ifort+mpi_beagle,v 1.4 2009/09/23 18:38:33 jmc Exp $
4 # $Name: $
5 #
6 # These are the build options used with the Intel 10.x compiler for
7 # testing on Beagle.
8 #
9 # Use after
10 #
11 # module add darwin
12 # module add mitgcm
13 #
14 # (tested with darwin/20090605 mitgcm/20090605, i.e.,
15 # intel/10.0.025 mx/1.0 netcdf/3.6.2/intel-10.0.025 mpich-mx/1.2.7..7/intel-10.0.025)
16 #
17 # These modules set FFLAGS, CFLAGS and CPPFLAGS for mpich and netcdf.
18 #
19 # The SGE -V option for exporting environment variables may also be
20 # helpful if you encounter missing-library problems. Or,
21 # alternatively, one may choose to link with one of the intel
22 # "-static" or "-i-static" flags.
23
24 FC='mpif77'
25 CC='mpicc'
26 F90C='mpif90 -fixed -c '
27 LINK='mpif77'
28 INCLUDES="$CPPFLAGS"
29 LIBS="$LDFLAGS -shared-intel"
30
31 # -DIFORT turns on ifort-specific declarations in darwin (RAND is not an intrinsic)
32 DEFINES='-DALLOW_USE_MPI -DALWAYS_USE_MPI -DWORDLENGTH=4 -DIFORT'
33 CPP='cpp -traditional -P'
34 EXTENDED_SRC_FLAG='-132'
35 #OMPFLAG='-openmp'
36
37 NOOPTFILES='mds_byteswapr8.F mds_byteswapr4.F mds_byteswapi4.F mom_calc_ke.F mon_ke.F'
38
39 if test "x$IEEE" = x ; then
40 # No need for IEEE-754
41 NOOPTFLAGS='-O2'
42 # use this for exact checkpointing (slightly slower):
43 # FOPTIM='-O2 -pc64 -mieee-fp -align'
44 FOPTIM='-O2 -align'
45 # ifort options:
46 # -132 fixed-form line length is 132 characters
47 # -r8 REAL is REAL*8
48 # -i4 INTEGER is INTEGER*4
49 # -w95 don't warn about use of Fortran 95 extensions
50 # -W0 disable all warning messages
51 # -WB turns a compile-time bounds check error into a warning
52 # -xT optimize for Intel Core2 and Xeon 51xx
53 # -fno-alias don't assume aliasing (assume that different variables DON'T refer to the same memory location)
54 # -assume byterecl record length in OPEN statements is in bytes
55 # -convert big_endian binary files contain big-endian data
56 # -shared-intel avoids static library mismatch (?)
57 FFLAGS="$FFLAGS -r8 -i4 -w95 -W0 -WB -xT -fno-alias -assume byterecl -convert big_endian"
58 else
59 # Try to follow IEEE-754
60 NOOPTFLAGS='-O0'
61 # -CB check bounds
62 # FOPTIM='-O0 -noalign -CA -CB -CU -CV -CS'
63 FOPTIM='-O0 -noalign'
64 # -pc64 round floating point values to 64 bits
65 # one could also try
66 # -mp maintain precision
67 FFLAGS="$FFLAGS -pc64 -r8 -i4 -w95 -W0 -WB -xT -fno-alias -assume byterecl -convert big_endian"
68 fi
69 F90FLAGS=$FFLAGS
70 F90OPTIM=$FOPTIM
71
72 NOOPTFILES=$NOOPTFILES' mds_byteswap.F'

  ViewVC Help
Powered by ViewVC 1.1.22