/[MITgcm]/MITgcm/tools/build_options/linux_ia32_ifort+mpi_aces
ViewVC logotype

Annotation of /MITgcm/tools/build_options/linux_ia32_ifort+mpi_aces

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


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

1 edhill 1.1 #!/bin/bash
2     #
3 jmc 1.9 # $Header: /u/gcmpack/MITgcm/tools/build_options/linux_ia32_ifort+mpi_aces,v 1.8 2009/06/26 16:06:08 jmc Exp $
4     # $Name: $
5 edhill 1.1 #
6 jmc 1.8 # build options used with the Intel compiler, version 8 and 9,
7 jmc 1.9 # for the daily testing on ACES (which are initiated by cron jobs
8 jmc 1.8 # on the "ao" head node).
9 edhill 1.1 #
10 jmc 1.8 # Needs the appropriate module commands,
11     # and DON'T FORGET to set environment variable MPI_INC_DIR to the include
12     # directory of the selected MPI implementation
13 edhill 1.4 #
14 jmc 1.8 #-- using default intel (v8.1) and default mpich/intel:
15 edhill 1.4 # module add mpich/intel
16 jmc 1.8 # module add netcdf/3.6.1/icc
17 jmc 1.9 # e.g.(sh,bash):
18 jmc 1.8 # export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-intel/include/'
19     # (and run using mpirun -machinefile my_list_of_nodes)
20 jmc 1.9 #
21 jmc 1.8 #-- using intel v9.0 and mpich2-intel, in this order:
22     # module add ifc/9.0.021 icc/9.0.021 intel/9.0
23     # module add mpich2/1.0.3/intel
24     # module add netcdf/3.6.1/icc
25     # module add mpiexec (<-- to run with mpiexec)
26 jmc 1.9 # e.g.(sh,bash):
27 jmc 1.8 # export MPI_INC_DIR='/usr/local/pkg/mpich2/mpich2-1.0.3/intel/include/'
28     # (and run using mpiexec)
29 edhill 1.4 #
30 jmc 1.8 #-- Multi-Threading with OpenMP:
31     # -several problems with earlier version of ifort (including some version 8)
32     # -with version 9 and more recent one:
33     # 1) compile with genmake2 -omp option ;
34 jmc 1.9 # 2) needs to set environment variable OMP_NUM_THREADS, and generally,
35 jmc 1.8 # needs also to increase the thread stack-size:
36 jmc 1.9 # (sh, bash) > export OMP_NUM_THREADS=2
37 jmc 1.8 # > export KMP_STACKSIZE=400m
38     # (csh,tcsh) > setenv OMP_NUM_THREADS 2
39     # > setenv KMP_STACKSIZE 400m
40 jmc 1.9 # NOTE: set KMP_STACKSIZE in .bashrc/.profile/.cshrc/.tcshrc is the easiest
41 jmc 1.8 # way (I found) to set it for all proc; not an issue (?) for OMP_NUM_THREADS
42 edhill 1.4
43 jmc 1.8 # Notes: the PBS -V option for exporting environment variables does not work
44     # => need to set all env var on compute nodes
45 edhill 1.1
46 edhill 1.4 FC='mpif77'
47     CC='mpicc'
48 cnh 1.5 F90C='mpif90 -fixed -c '
49 edhill 1.4 LINK='mpif77'
50 jmc 1.8
51 jmc 1.9 #-- for NetCDF:
52 jmc 1.8 INCLUDES="-I$NETCDF_INCDIR"
53     INCLUDEDIRS=$NETCDF_INCDIR
54     LIBS="-L$NETCDF_LIBDIR"
55    
56     #- for MPI:
57     INCLUDES="$INCLUDES -I$MPI_INC_DIR"
58     INCLUDEDIRS="$INCLUDEDIRS $MPI_INC_DIR"
59     MPIINCLUDEDIR="$MPI_INC_DIR"
60     MPI_HEADER_FILES='mpif.h mpiof.h'
61     MPI_HEADER_FILES_INC='./mpi_headers/mpif.h ./mpi_headers/mpiof.h'
62 edhill 1.1
63 edhill 1.4 DEFINES='-DALLOW_USE_MPI -DALWAYS_USE_MPI -DWORDLENGTH=4'
64 edhill 1.1 CPP='cpp -traditional -P'
65 jmc 1.7 EXTENDED_SRC_FLAG='-132'
66 jmc 1.8 OMPFLAG='-openmp'
67 edhill 1.4
68     NOOPTFLAGS='-O0'
69     NOOPTFILES='mds_byteswapr8.F mds_byteswapr4.F mds_byteswapi4.F'
70 edhill 1.1
71     # Note that the -mp switch is for ieee "maintain precision" and is
72     # roughly equivalent to -ieee
73     if test "x$IEEE" = x ; then
74     FOPTIM='-O3 -align'
75 edhill 1.4 #P3 FOPTIM=$FOPTIM' -tpp6 -xWKM'
76     #P4 FOPTIM=$FOPTIM' -tpp7 -xWKM'
77 jmc 1.9 FFLAGS="$FFLAGS -r8 -i4 -w95 -W0 -WB -assume byterecl -convert big_endian"
78 edhill 1.1 else
79 edhill 1.4 # FOPTIM='-O0 -noalign -CA -CB -CU -CV -CS'
80 jmc 1.7 FOPTIM='-O0 -noalign -CB -CU -CV'
81 jmc 1.9 FFLAGS="$FFLAGS -w95 -W0 -WB -pc64 -xW -assume byterecl -convert big_endian"
82     # FLAGS="$FFLAGS -mp -w95 -W0 -WB -assume byterecl -convert big_endian"
83 edhill 1.1 fi
84 jmc 1.9 #- might want to use '-r8' for fizhi pkg:
85     #FFLAGS="$FFLAGS -r8"
86    
87 utke 1.6 F90FLAGS=$FFLAGS
88     F90OPTIM=$FOPTIM
89 edhill 1.1
90 edhill 1.4 NOOPTFILES=$NOOPTFILES' mitcplr_char2real.F mitcplr_real2char.F'
91     NOOPTFILES=$NOOPTFILES' mitcplr_char2int.F mitcplr_int2char.F mds_byteswap.F'
92 jmc 1.8

  ViewVC Help
Powered by ViewVC 1.1.22