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

Diff of /MITgcm/tools/build_options/linux_amd64_ifort

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

revision 1.1 by ce107, Fri Feb 23 02:52:25 2007 UTC revision 1.4 by ce107, Tue Jul 31 22:26:20 2007 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  #  #
3  # composed and tested by ce107 on ross/weddell  # Composed and tested by ce107 on ross/weddell (Opteron system)
4  # for more speed on Core2 processors replace -xW with -xT  # Should work fine on EM64T and other AMD64 compatible Intel systems
5  # for more speed on Pentium4 based EM64T processors replaces -xW with -xP  # a) Processor specific flags:
6    #    1) for more speed on Core2 processors replace -xW with -xT
7    #    2) for more speed on Pentium4 based EM64T processors replaces -xW with -xP
8    # b) For more speed, provided your data size doesn't exceed 2GB you can
9    # remove -fPIC which carries a performance penalty of 2-6%.
10    # c) Provided that the libraries you link to are compiled with -fPIC this
11    # optfile should work.
12    # d) You can replace -fPIC with -mcmodel=medium which may perform faster
13    # then -fPIC and still support data sizes over 2GB per process but all
14    # the libraries you link to myst be compiled with -fPIC or -mcmodel=medium
15    # e) Changed from -O3 to -O2 to avoid buggy Intel v.10 compilers. Speed
16    # impact appears to be minimal.
17  FC=ifort  FC=ifort
18  F90C=ifort  F90C=ifort
19  CC=icc  CC=icc
20  LINK='mpif90 -i-static -no-ipo'  LINK='ifort -i-dynamic -no-ipo'
21    
22  DEFINES='-DWORDLENGTH=4'  DEFINES='-DWORDLENGTH=4'
23  CPP='cpp  -traditional -P'  CPP='cpp  -traditional -P'
# Line 23  LIBS='' Line 33  LIBS=''
33  if test "x$DEVEL" != x ; then  if test "x$DEVEL" != x ; then
34      FFLAGS='-132 -r8 -i4 -w95 -W0 -WB -convert big_endian -assume byterecl -fPIC -O0 -g -noalign -fpstkchk -check all -fpe0 -traceback -ftrapuv -fpmodel except -warn all'      FFLAGS='-132 -r8 -i4 -w95 -W0 -WB -convert big_endian -assume byterecl -fPIC -O0 -g -noalign -fpstkchk -check all -fpe0 -traceback -ftrapuv -fpmodel except -warn all'
35  else  else
36      FFLAGS='-132 -r8 -i4 -w95 -W0 -WB -convert big_endian -assume byterecli -fPIC'      FFLAGS='-132 -r8 -i4 -w95 -W0 -WB -convert big_endian -assume byterecl -fPIC'
37  fi  fi
38    
39  #  Note that the -mp switch is for ieee "maintain precision" and is  #  Note that the -mp switch is for ieee "maintain precision" and is
40  #  roughly equivalent to -ieee  #  roughly equivalent to -ieee
41  if test "x$IEEE" = x ; then  if test "x$IEEE" = x ; then
42      #  No need for IEEE-754      #  No need for IEEE-754
43      FOPTIM='-O3 -align -xW -ip'      FOPTIM='-O2 -align -xW -ip'
44  else  else
45      #  Try to follow IEEE-754      #  Try to follow IEEE-754
46      FOPTIM='-O2 -align -xW -ip -mp'      FOPTIM='-O2 -align -xW -ip -mp'
47  fi  fi
48  F90FLAGS=$FFLAGS  F90FLAGS=$FFLAGS
49  F90OPTIM=$FOPTIM  F90OPTIM=$FOPTIM
50  CFLAGS='-O3 -ip -fPIC'  CFLAGS='-O2 -ip -fPIC'
51    
52  if [ "x$NETCDF_ROOT" != x ] ; then  if [ "x$NETCDF_ROOT" != x ] ; then
53      INCLUDEDIRS="${NETCDF_ROOT}/include"      INCLUDEDIRS="${NETCDF_ROOT}/include"

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22