/[MITgcm]/MITgcm/tools/build_options/SUPER-UX_SX-ACE_sxf90_awi
ViewVC logotype

Annotation of /MITgcm/tools/build_options/SUPER-UX_SX-ACE_sxf90_awi

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


Revision 1.3 - (hide annotations) (download)
Mon Jun 15 15:34:59 2015 UTC (8 years, 11 months ago) by mlosch
Branch: MAIN
CVS Tags: 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, checkpoint65n, checkpoint65o, HEAD
Changes since 1.2: +2 -2 lines
rename SEAICE_VECTORIZE_LSR_ZEBRA to SEAICE_LSR_ZEBRA

1 mlosch 1.1 #!/bin/bash
2     #
3 mlosch 1.3 # $Header: /u/gcmpack/MITgcm/tools/build_options/SUPER-UX_SX-ACE_sxf90_awi,v 1.2 2015/04/08 07:30:01 mlosch Exp $
4 mlosch 1.1 # $Name: $
5    
6     # for cross compiling on stan1.awi.de
7     # uname -a:
8     # Linux stan1.awi.de 2.6.32-358.18.1.el6.x86_64 #1 SMP Fri Aug 2 17:04:38 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux
9     # before using this build-options file make sure you have the correct
10     # modules loaded, currently:
11     # module load sxf90 sxc++ sxmpi sxnetcdf
12    
13    
14     CC='sxcc -sxace'
15     if test "x$MPI" = xtrue ; then
16     FC='sxmpif90'
17     LINK='sxmpif90'
18     #LINK='sxmpif90 -p' # with profiler
19     else
20     FC='sxf90'
21     LINK='sxf90'
22     fi
23    
24     FC_NAMEMANGLE="#define FC_NAMEMANGLE(X) X ## _"
25     # nec use
26 mlosch 1.3 DEFINES='-DTARGET_NEC_SX -DWORDLENGTH=1 -DHAVE_CLOC -UHAVE_SIGREG -DSEAICE_VECTORIZE_LSR -DSEAICE_LSR_ZEBRA -DCG2D_OUTERLOOPITERS=10 -DCG3D_OUTERLOOPITERS=10'
27 mlosch 1.1 CPP='/lib/cpp -traditional -P'
28     RMFILES='*.L'
29    
30     FFLAGS='-Pstack -sxace'
31     # automatic inlining for routines < 50 lines (default) and in the same file
32     # where they are to be inlined (we do not have too many of those)
33 mlosch 1.2 FFLAGS="$FFLAGS -pi"
34 mlosch 1.1
35     # This is how you inline external routines if they are longer than 50 lines
36     # and live in a separate file (the actual routines depend on the packages
37     # used, therefore there are only a few examples here); unfortunately, these
38     # flags break the genmake2 tests, so they get an extra flag variable that
39     # is not tested in genmake2
40     FEXTRAFLAGS='-pi auto fullmsg exp=barrier,ucase,timestep_tracer,ilnblnk,ifnblnk,cycle_tracer,pressure_for_eos,sw_temp,sw_ptmp,gsw_pt_from_ct rexp=fool_the_compiler,fool_the_compiler_r8,bar2,sw_adtg,gsw_ct_from_pt,gsw_gibbs_pt0_pt0 expin=barrier.f,timestep_tracer.f,fool_the_compiler.f,bar2.f,utils.f,cycle_tracer.f,pressure_for_eos.f,seawater.f,gsw_teos10.f'
41     # additional candidates for inlining are parts of packages that are not
42     # always used, therefore use this at your own risk:
43 mlosch 1.2 #FEXTRAFLAGS="${FEXTRAFLAGS} -pi fullmsg exp= expin="
44 mlosch 1.1 #
45     # Note: explicit inlining requires that all files (*.f) are already
46     # available, so that the building sequence should be
47     # genmake2 [OPTIONS] && make depend && make small_f && make
48    
49     #-- additional options:
50     # include a formated code listing and a listing of compiler transformations
51     # in *.L files
52 mlosch 1.2 #FFLAGS="$FFLAGS -R2"
53 mlosch 1.1 # assume a loop count of 5,000,000 instead of estimating it from field
54     # declarations and include details messages about vectorization (if -R2
55     # specified)
56     #FFLAGS=$FFLAGS' -Wf "-pvctl noassume loopcnt=5000000 fullmsg"'
57     # trace output for performance analysis
58     #FFLAGS=$FFLAGS' -ftrace'
59     # default automatic optimization level
60     #FOPTIM='-C vopt'
61    
62 mlosch 1.2 # these files require lower optimization
63     NOOPTFILES='ini_forcing.F mom_calc_visc.F'
64     NOOPTFILES="$NOOPTFILES ptracers_dyn_state_data_mod.F ptracers_dyn_state_mod.F"
65 mlosch 1.1 if test "x$IEEE" = x ; then
66 mlosch 1.2 # highest automatic optimization level, handle with care
67     FOPTIM='-C hopt'
68     NOOPTFLAGS='-C vopt'
69 mlosch 1.1 else
70 mlosch 1.2 if test "x$DEVEL" = x ; then #- no optimisation + IEEE :
71     FOPTIM='-C vsafe'
72     NOOPTFLAGS=$FOPTIM
73     else #- development/check options:
74     # enable runtime checking of array bounds and arguments of routines
75     FOPTIM='-C vsafe -g -eC -eP'
76     NOOPTFLAGS=$FOPTIM
77     # remove extra flags and explicit inlining
78     FEXTRAFLAGS=
79     fi
80 mlosch 1.1 fi
81    
82 mlosch 1.2 # awi specific paths and stuff, available only after "module load sxnetcdf"
83     INCLUDES="-I${SX_NETCDF_INC}"
84 mlosch 1.1 LIBS="-L${SX_NETCDF_LIB} -lnetcdf"
85    
86     if test "x$MPI" = xtrue ; then
87 mlosch 1.2 # path to mpi header files, available only after "module load sxmpi"
88 mlosch 1.1 INCLUDES="$INCLUDES -I${SX_BASE_MPI}/include"
89     fi
90    

  ViewVC Help
Powered by ViewVC 1.1.22