/[MITgcm]/MITgcm/eesupp/inc/CPP_EEOPTIONS.h
ViewVC logotype

Diff of /MITgcm/eesupp/inc/CPP_EEOPTIONS.h

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

revision 1.29 by jahn, Tue Jan 8 23:57:55 2008 UTC revision 1.39 by jmc, Wed Aug 27 21:46:17 2014 UTC
# Line 46  C Line 46  C
46  C     ALWAYS - indicates the choice will be fixed at compile time  C     ALWAYS - indicates the choice will be fixed at compile time
47  C              so no run-time option will be present  C              so no run-time option will be present
48    
49    C=== Macro related options ===
50    C--   Control storage of floating point operands
51    C     On many systems it improves performance only to use
52    C     8-byte precision for time stepped variables.
53    C     Constant in time terms ( geometric factors etc.. )
54    C     can use 4-byte precision, reducing memory utilisation and
55    C     boosting performance because of a smaller working set size.
56    C     However, on vector CRAY systems this degrades performance.
57    C     Enable to switch REAL4_IS_SLOW from genmake2 (with LET_RS_BE_REAL4):
58    #ifdef LET_RS_BE_REAL4
59    #undef REAL4_IS_SLOW
60    #else /* LET_RS_BE_REAL4 */
61    #define REAL4_IS_SLOW
62    #endif /* LET_RS_BE_REAL4 */
63    
64    C--   Control use of "double" precision constants.
65    C     Use D0 where it means REAL*8 but not where it means REAL*16
66    #define D0 d0
67    
68    C--   Enable some old macro conventions for backward compatibility
69    #undef USE_OLD_MACROS_R4R8toRSRL
70    
71    C=== IO related options ===
72  C--   Flag used to indicate whether Fortran formatted write  C--   Flag used to indicate whether Fortran formatted write
73  C     and read are threadsafe. On SGI the routines can be thread  C     and read are threadsafe. On SGI the routines can be thread
74  C     safe, on Sun it is not possible - if you are unsure then  C     safe, on Sun it is not possible - if you are unsure then
# Line 59  C     a different file for each tile) an Line 82  C     a different file for each tile) an
82  C--   Flag to turn off the writing of error message to ioUnit zero  C--   Flag to turn off the writing of error message to ioUnit zero
83  #undef DISABLE_WRITE_TO_UNIT_ZERO  #undef DISABLE_WRITE_TO_UNIT_ZERO
84    
85    C--   Alternative formulation of BYTESWAP, faster than
86    C     compiler flag -byteswapio on the Altix.
87    #undef FAST_BYTESWAP
88    
89    C--   Flag defined for eeboot_minimal.F, eeset_parms.F and open_copy_data_file.F
90    C     to write STDOUT, STDERR and scratch files from process 0 only.
91    C WARNING: to use only when absolutely confident that the setup is working
92    C     since any message (error/warning/print) from any proc <> 0 will be lost.
93    #undef SINGLE_DISK_IO
94    
95    C=== MPI, EXCH and GLOBAL_SUM related options ===
96  C--   Flag turns off MPI_SEND ready_to_receive polling in the  C--   Flag turns off MPI_SEND ready_to_receive polling in the
97  C     gather_* subroutines to speed up integrations.  C     gather_* subroutines to speed up integrations.
98  #undef DISABLE_MPI_READY_TO_RECEIVE  #undef DISABLE_MPI_READY_TO_RECEIVE
# Line 68  CXXX We no longer select the use of MPI Line 102  CXXX We no longer select the use of MPI
102  CXXX To use MPI, use an appropriate genmake2 options file or use  CXXX To use MPI, use an appropriate genmake2 options file or use
103  CXXX genmake2 -mpi .  CXXX genmake2 -mpi .
104  CXXX #undef  ALLOW_USE_MPI  CXXX #undef  ALLOW_USE_MPI
 CXXX #undef  ALWAYS_USE_MPI  
105    
106  C--   Control use of communication that might overlap computation.  C--   Control use of communication that might overlap computation.
107  C     Under MPI selects/deselects "non-blocking" sends and receives.  C     Under MPI selects/deselects "non-blocking" sends and receives.
# Line 83  C     Under MPI selects/deselects "block Line 116  C     Under MPI selects/deselects "block
116  C--   Control use of JAM routines for Artic network  C--   Control use of JAM routines for Artic network
117  C     These invoke optimized versions of "exchange" and "sum" that  C     These invoke optimized versions of "exchange" and "sum" that
118  C     utilize the programmable aspect of Artic cards.  C     utilize the programmable aspect of Artic cards.
119  #undef  LETS_MAKE_JAM  CXXX No longer supported ; started to remove JAM routines.
120  #undef  JAM_WITH_TWO_PROCS_PER_NODE  CXXX #undef  LETS_MAKE_JAM
121    CXXX #undef  JAM_WITH_TWO_PROCS_PER_NODE
 C--   Control storage of floating point operands  
 C     On many systems it improves performance only to use  
 C     8-byte precision for time stepped variables.  
 C     Constant in time terms ( geometric factors etc.. )  
 C     can use 4-byte precision, reducing memory utilisation and  
 C     boosting performance because of a smaller working  
 C     set size. However, on vector CRAY systems this degrades  
 C     performance.  
 #define REAL4_IS_SLOW  
   
 C--   Control use of "double" precision constants.  
 C     Use D0 where it means REAL*8 but not where it means REAL*16  
 #define D0 d0  
122    
123  C--   Control XY periodicity in processor to grid mappings  C--   Control XY periodicity in processor to grid mappings
124  C     Note: Model code does not need to know whether a domain is  C     Note: Model code does not need to know whether a domain is
# Line 110  C           filled in some way. Line 130  C           filled in some way.
130  #define CAN_PREVENT_X_PERIODICITY  #define CAN_PREVENT_X_PERIODICITY
131  #define CAN_PREVENT_Y_PERIODICITY  #define CAN_PREVENT_Y_PERIODICITY
132    
133  C--   Alternative formulation of BYTESWAP, faster than  C--   disconnect tiles (no exchange between tiles, just fill-in edges
134  C     compiler flag -byteswapio on the Altix.  C     assuming locally periodic subdomain)
135  #undef FAST_BYTESWAP  #undef DISCONNECTED_TILES
136    
137  C--   Alternative way of doing global sum without MPI allreduce call  C--   Alternative way of doing global sum without MPI allreduce call
138  C     but instead, explicit MPI send & recv calls.  C     but instead, explicit MPI send & recv calls.
# Line 123  C     to eliminate tiling-dependent roun Line 143  C     to eliminate tiling-dependent roun
143  C     Note: This is slow.  C     Note: This is slow.
144  #undef  CG2D_SINGLECPU_SUM  #undef  CG2D_SINGLECPU_SUM
145    
146    C=== Other options (to add/remove pieces of code) ===
147    C--   Flag to turn on checking for errors from all threads and procs
148    C     (calling S/R STOP_IF_ERROR) before stopping.
149    #define USE_ERROR_STOP
150    
151    C--   Control use of communication with other component:
152    C     allow to import and export from/to Coupler interface.
153    #undef COMPONENT_MODULE
154    
155  #endif /* _CPP_EEOPTIONS_H_ */  #endif /* _CPP_EEOPTIONS_H_ */
156    
157  #include "CPP_EEMACROS.h"  #include "CPP_EEMACROS.h"

Legend:
Removed from v.1.29  
changed lines
  Added in v.1.39

  ViewVC Help
Powered by ViewVC 1.1.22