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

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

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


Revision 1.1 - (hide annotations) (download)
Thu Sep 29 16:13:51 2011 UTC (12 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63g, checkpoint64, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65o, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, HEAD
move to unsupported/ (has been merged into linux_ia32_ifort)

1 jmc 1.1 #!/bin/bash
2     #
3     # $Header: /u/gcmpack/MITgcm/tools/build_options/linux_ia32_ifort+mpi_aces,v 1.9 2010/03/21 17:59:13 jmc Exp $
4     # $Name: $
5     #
6     # build options used with the Intel compiler, version 8 and 9,
7     # for the daily testing on ACES (which are initiated by cron jobs
8     # on the "ao" head node).
9     #
10     # 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     #
14     #-- using default intel (v8.1) and default mpich/intel:
15     # module add mpich/intel
16     # module add netcdf/3.6.1/icc
17     # e.g.(sh,bash):
18     # export MPI_INC_DIR='/usr/local/pkg/mpich/mpich-intel/include/'
19     # (and run using mpirun -machinefile my_list_of_nodes)
20     #
21     #-- 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     # e.g.(sh,bash):
27     # export MPI_INC_DIR='/usr/local/pkg/mpich2/mpich2-1.0.3/intel/include/'
28     # (and run using mpiexec)
29     #
30     #-- 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     # 2) needs to set environment variable OMP_NUM_THREADS, and generally,
35     # needs also to increase the thread stack-size:
36     # (sh, bash) > export OMP_NUM_THREADS=2
37     # > export KMP_STACKSIZE=400m
38     # (csh,tcsh) > setenv OMP_NUM_THREADS 2
39     # > setenv KMP_STACKSIZE 400m
40     # NOTE: set KMP_STACKSIZE in .bashrc/.profile/.cshrc/.tcshrc is the easiest
41     # way (I found) to set it for all proc; not an issue (?) for OMP_NUM_THREADS
42    
43     # Notes: the PBS -V option for exporting environment variables does not work
44     # => need to set all env var on compute nodes
45    
46     FC='mpif77'
47     CC='mpicc'
48     F90C='mpif90 -fixed -c '
49     LINK='mpif77'
50    
51     #-- for NetCDF:
52     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    
63     DEFINES='-DALLOW_USE_MPI -DALWAYS_USE_MPI -DWORDLENGTH=4'
64     CPP='cpp -traditional -P'
65     EXTENDED_SRC_FLAG='-132'
66     OMPFLAG='-openmp'
67    
68     NOOPTFLAGS='-O0'
69     NOOPTFILES='mds_byteswapr8.F mds_byteswapr4.F mds_byteswapi4.F'
70    
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     #P3 FOPTIM=$FOPTIM' -tpp6 -xWKM'
76     #P4 FOPTIM=$FOPTIM' -tpp7 -xWKM'
77     FFLAGS="$FFLAGS -r8 -i4 -w95 -W0 -WB -assume byterecl -convert big_endian"
78     else
79     # FOPTIM='-O0 -noalign -CA -CB -CU -CV -CS'
80     FOPTIM='-O0 -noalign -CB -CU -CV'
81     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     fi
84     #- might want to use '-r8' for fizhi pkg:
85     #FFLAGS="$FFLAGS -r8"
86    
87     F90FLAGS=$FFLAGS
88     F90OPTIM=$FOPTIM
89    
90     NOOPTFILES=$NOOPTFILES' mitcplr_char2real.F mitcplr_real2char.F'
91     NOOPTFILES=$NOOPTFILES' mitcplr_char2int.F mitcplr_int2char.F mds_byteswap.F'
92    

  ViewVC Help
Powered by ViewVC 1.1.22