HARM
harm and utilities
 All Data Structures Files Functions Variables Typedefs Macros Pages
Macros
global.openmpthreadprivates.h File Reference

All macros and definitions related to OpenMP private quantities. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define OPENMPGLOBALPRIVATEPLOOP2INTERPFULL   npr2interpstart,npr2interpend,npr2interplist
 
#define OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL   npr2notinterpstart,npr2notinterpend,npr2notinterplist
 
#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 More...
 
#define OPENMPKAZEOSPRIVATE   indexarray,qoldarray,whichtable,resultold,repeatedfun,qoldarrayextras,extrasold,processedold,doallextrasold
 below defined in kazfulleos.c [enabled or disabled below using ALLOWKAZEOS] More...
 
#define OPENMPGLOBALPRIVATELIST   OPENMPGLOBALPRIVATEPLOOP2INTERPFULL,OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL
 Below are some macros for various parts of the code [no new actual variables listed on the below lines]. More...
 
#define OPENMPGLOBALPRIVATEFULL   copyin(OPENMPGLOBALPRIVATELIST)
 
#define OPENMPGLOBALPRIVATEFORSTATEANDGEOM
 
#define OPENMPGLOBALPRIVATEFORINVERSION
 need "state" stuff (i.e. More...
 
#define OPENMPGLOBALPRIVATEFORSTATEANDGEOMINTERP   copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL,OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL)
 geom and state but with ploop, interp, and no interp varaibles only More...
 
#define OPENMPGLOBALPRIVATEFORSTATEANDGEOMINTERPFULLNPR2INTERP   copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL,OPENMPGLOBALPRIVATEPLOOP2NOTINTERPFULL)
 
#define OPENMPGLOBALPRIVATEFORGEOMNPR2INTERP   copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL)
 geom but not state: More...
 
#define OPENMPGLOBALPRIVATEFORUCONANDGEOMNPR2INTERP   copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL)
 
#define OPENMPGLOBALPRIVATEPLOOPINTERPONLY   copyin(OPENMPGLOBALPRIVATEPLOOP2INTERPFULL)
 

Detailed Description

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.

Macro Definition Documentation

#define INDEXPARAMETERSNAMES
Value:
kaziiwhichd,kazjjwhichd,kazkkwhichd,kazllwhichd,kazmmwhichd, \
kaziiowhichd,kazjjowhichd,kazkkowhichd,kazllowhichd,kazmmowhichd, \
kazstartiiiwhichd,kazstartjjjwhichd,kazstartkkkwhichd,kazstartlllwhichd,kazstartmmmwhichd, \
kazendiiiwhichd,kazendjjjwhichd,kazendkkkwhichd,kazendlllwhichd,kazendmmmwhichd, \
kazdiwhichd,kazdjwhichd,kazdkwhichd,kazdlwhichd,kazdmwhichd

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.

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.