/[MITgcm]/MITgcm/tools/build_options/SUPER-UX_SX-8_sxf90_awi
ViewVC logotype

Diff of /MITgcm/tools/build_options/SUPER-UX_SX-8_sxf90_awi

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

revision 1.1 by mlosch, Thu Nov 27 07:45:28 2008 UTC revision 1.5 by jmc, Tue Sep 13 19:39:02 2011 UTC
# Line 1  Line 1 
1  #!/bin/bash  #!/bin/bash
2  #  #
3  #  $Header$  # $Header$
4  #  # $Name$
5    
6  # for cross compiling on sx8.awi.de  # for cross compiling on sx8.awi.de
7  # uname -a:  # uname -a:
8  # Linux sx8 2.6.5-7.282-default #1 SMP Tue Aug 29 10:40:40 UTC 2006 ia64 ia64 ia64 GNU/Linux#  # Linux sx8 2.6.5-7.282-default #1 SMP Tue Aug 29 10:40:40 UTC 2006 ia64 ia64 ia64 GNU/Linux#
9    
10    if test "x$MPI" = xtrue ; then
11      CC='sxcc -sx8r'
12      FC='sxmpif90'
13      LINK='sxmpif90'
14     #LINK='sxmpif90 -p' # with profiler
15    else
16      CC='sxcc -sx8r'
17      FC='sxf90'
18      LINK='sxf90'
19    fi
20    
21    FC_NAMEMANGLE="#define FC_NAMEMANGLE(X)  X ## _"
22  # nec use  # nec use
23    DEFINES='-DTARGET_NEC_SX -DWORDLENGTH=1 -DHAVE_CLOC -UHAVE_SIGREG -DSEAICE_VECTORIZE_LSR -DCG2D_OUTERLOOPITERS=10 -DCG3D_OUTERLOOPITERS=10'
24  CPP='/lib/cpp -traditional -P'  CPP='/lib/cpp -traditional -P'
 DEFINES='-DTARGET_NEC_SX -DWORDLENGTH=1 -DHAVE_CLOC -UHAVE_SIGREG -DSEAICE_VECTORIZE_LSR -DCG2D_OUTERLOOPITERS=10'  
 FC='sxmpif90'  
 CC='sxcc -sx8r'  
   
25  RMFILES='*.L'  RMFILES='*.L'
26  FC_NAMEMANGLE="#define FC_NAMEMANGLE(X)  X ## _"  
 LINK='sxf90'  
 #LINK='sxmpif90 -p' # with profiler  
27  FFLAGS='-Pstack -sx8r'  FFLAGS='-Pstack -sx8r'
28  # automatic inlining for routines < 50 lines (default) and in the same file  # automatic inlining for routines < 50 lines (default) and in the same file
29  # where they are to be inlined (we do not have too many of those)  # where they are to be inlined (we do not have too many of those)
30  FFLAGS=$FFLAGS' -pi'  FFLAGS=$FFLAGS' -pi'
31  # This is how you inline external routines if they are longer than 50 lines  
32  # and live in a separate file (the actual routines depend on the packages  # This is how you inline external routines if they are longer than 50 lines
33  # used, therefore there are only a few examples here); unfortunately, these  # and live in a separate file (the actual routines depend on the packages
34  # flags break the genmake2 tests, so you will have to include them into the  # used, therefore there are only a few examples here); unfortunately, these
35  # makefile by hand  # flags break the genmake2 tests, so they get an extra flag variable that
36  FEXTRAFLAGS='-pi auto fullmsg exp=barrier,ucase,timestep_tracer,ilnblnk,ifnblnk,cycle_tracer,pressure_for_eos,sw_temp,sw_ptmp rexp=fool_the_compiler,bar2,sw_adtg expin=barrier.F,timestep_tracer.F,fool_the_compiler.F,bar2.F,utils.F,cycle_tracer.F,pressure_for_eos.F,seawater.F'  # is not tested in genmake2
37  # additional candidates for inlining are parts of packages that are not  FEXTRAFLAGS='-pi auto fullmsg exp=barrier,ucase,timestep_tracer,ilnblnk,ifnblnk,cycle_tracer,pressure_for_eos,sw_temp,sw_ptmp rexp=fool_the_compiler,fool_the_compiler_r8,bar2,sw_adtg expin=barrier.F,timestep_tracer.F,fool_the_compiler.F,bar2.F,utils.F,cycle_tracer.F,pressure_for_eos.F,seawater.F'
38    # additional candidates for inlining are parts of packages that are not
39  # always used, therefore use this at your own risk:  # always used, therefore use this at your own risk:
40  #FEXTRAFLAGS=${FEXTRAFLAGS}' -pi fullmsg exp= expin='  #FEXTRAFLAGS=${FEXTRAFLAGS}' -pi fullmsg exp= expin='
41  # additional options:  
42  # include a formated code listing and a listing of compiler transformations  #-- additional options:
43    # include a formated code listing and a listing of compiler transformations
44  # in *.L files  # in *.L files
45  #FFLAGS=$FFLAGS' -R2'  #FFLAGS=$FFLAGS' -R2'
46  # assume a loop count of 5,000,000 instead of estimating it from field  # assume a loop count of 5,000,000 instead of estimating it from field
47  # declarations and include details messages about vectorization (if -R2  # declarations and include details messages about vectorization (if -R2
48  # specified)  # specified)
49  #FFLAGS=$FFLAGS' -Wf "-pvctl noassume loopcnt=5000000 fullmsg"'  #FFLAGS=$FFLAGS' -Wf "-pvctl noassume loopcnt=5000000 fullmsg"'
50  # trace output for performance analysis  # trace output for performance analysis
51  #FFLAGS=$FFLAGS' -ftrace'  #FFLAGS=$FFLAGS' -ftrace'
52  # default automatic optimization level  # default automatic optimization level
53  #FOPTIM='-C vopt'  #FOPTIM='-C vopt'
54    
55  if test "x$IEEE" = x ; then  if test "x$IEEE" = x ; then
56   # highest automatic optimization level, handle with care   # highest automatic optimization level, handle with care
57   FOPTIM='-C hopt'   FOPTIM='-C hopt'
   
58   # these files require lower optimization   # these files require lower optimization
59   NOOPTFILES='ini_forcing.F mom_calc_visc.F'   NOOPTFILES='ini_forcing.F mom_calc_visc.F'
60   NOOPTFLAGS='-C vopt'   NOOPTFLAGS='-C vopt'
61  else  else
  #  Try to follow IEEE-754  
  # highest automatic optimization level, handle with care  
62   FOPTIM='-C vsafe'   FOPTIM='-C vsafe'
63  fi  fi
64    
# Line 58  fi Line 66  fi
66  INCLUDES='-I/SX/usr/include -I/sx8/user2/awisoft/sx8/netcdf-4.0/dw/include'  INCLUDES='-I/SX/usr/include -I/sx8/user2/awisoft/sx8/netcdf-4.0/dw/include'
67  LIBS='-L/sx8/user2/awisoft/sx8/netcdf-4.0/dw/lib -lnetcdf'  LIBS='-L/sx8/user2/awisoft/sx8/netcdf-4.0/dw/lib -lnetcdf'
68    
69    if test "x$MPI" = xtrue ; then
70        # this is needed for compiling on the compute nodes
71        INCLUDES=$INCLUDES' -I/SX/opt/mpisx/inst/usr/include'
72    fi
73    

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

  ViewVC Help
Powered by ViewVC 1.1.22