All macros and definitions related to OpenMP private quantities. More...
Go to the source code of this file.
All macros and definitions related to OpenMP private quantities.
Those variables in defs.general.h (or any global variable) that per-point or per-time may change, so required to make private for OpenMP
OPENMPNOTE: If global variable that should be private makes no sense to be private, then must redo code!
Notes: 1) All variables in OPENMPGLOBALPRIVATEFULL are threadprivate, so each thread has own private global copy, which is not initialized unless use copyin(). Hence, if make something threadprivate then MUST copyin() if that is used at all regardless of if it was changed within parallel region. only need to copyin() things that change, rest are shared and set outside parallel regions
2) All threadprivate variables should NOT be set to something outside a parallel region. Should always set them inside parallel region otherwise tid!=0 threads will not be set since outside parallel region only sets tid==0 thread.
Definition in file global.openmpthreadprivates.h.
#define INDEXPARAMETERSNAMES |
whocalleducon only used for diagnostics, depracated check_pr() code, or diag_flux_general() that is not called in parallel region Removed global use of icurr,jcurr,kcurr,pcurr
OPENMPNOTE: Should figure out way to make the below local to eos functions rahter than global, but this is ok for now OPENMPNOTE: Redid how set EOS functions (oustide parallel regions) so no longer need the below as threadprivate Below were included in "state" and "full" threadprivate before moved outside parallel regions
Definition at line 45 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEFORGEOMNPR2INTERP copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL) |
geom but not state:
Definition at line 93 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEFORINVERSION |
need "state" stuff (i.e.
EOS stuff) since inversion processes EOS Need EOS for inversion itself!
Definition at line 88 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEFORSTATEANDGEOM |
Definition at line 85 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEFORSTATEANDGEOMINTERP copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL,OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL) |
geom and state but with ploop, interp, and no interp varaibles only
Definition at line 90 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEFORSTATEANDGEOMINTERPFULLNPR2INTERP copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL,OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL) |
Definition at line 91 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEFORUCONANDGEOMNPR2INTERP copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL) |
Definition at line 94 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEFULL copyin(OPENMPGLOBALPRIVATELIST) |
Definition at line 84 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATELIST OPENMPGLOBALPRIVATEPLOOP2INTERPFULL,OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL |
Below are some macros for various parts of the code [no new actual variables listed on the below lines].
Definition at line 83 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEPLOOP2INTERPFULL npr2interpstart,npr2interpend,npr2interplist |
Definition at line 20 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL npr2notinterpstart,npr2notinterpend,npr2notinterplist |
Definition at line 21 of file global.openmpthreadprivates.h.
#define OPENMPGLOBALPRIVATEPLOOPINTERPONLY copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL) |
Definition at line 95 of file global.openmpthreadprivates.h.
#define OPENMPKAZEOSPRIVATE indexarray,qoldarray,whichtable,resultold,repeatedfun,qoldarrayextras,extrasold,processedold,doallextrasold |
below defined in kazfulleos.c [enabled or disabled below using ALLOWKAZEOS]
Definition at line 53 of file global.openmpthreadprivates.h.