OpenAtom  Version1.5a
proxy_vars

Defining all the Charm++ readonly variables, which include proxies. More...

Functions

CkHashtableT< intdual, int > GSmaptable (10000, 0.25)
 
CkHashtableT< intdual, int > RSmaptable (10000, 0.25)
 
CkHashtableT< intdual, int > RPPmaptable (10000, 0.25)
 
CkHashtableT< intdual, int > AsymScalcmaptable (10000, 0.25)
 
CkHashtableT< intdual, int > SymScalcmaptable (10000, 0.25)
 

Variables

bool firstInstance = true
 
int numInst =0
 
CkVec< int > PIBImaptable
 INT_MAPs are the ones actually used so these are being changed to CkVec's for beads.
 
CkVec< MapType1AtomImaptable
 
CkVec< MapType2GSImaptable
 
CkVec< MapType2RSImaptable
 
CkVec< MapType2RPPImaptable
 
CkVec< MapType2RhoGSImaptable
 
CkVec< MapType2RhoRSImaptable
 
CkVec< MapType2RhoGHartImaptable
 
CkVec< MapType3RhoRHartImaptable
 
CkVec< MapType2LSPRhoRSImaptable
 CkVec <MapType1> LSPRhoGSImaptable;.
 
CkHashtableT< intdual, int > RhoGSmaptable
 
CkHashtableT< intdual, int > RhoRSmaptable
 
CkHashtableT< intdual, int > RhoGHartmaptable
 
CkHashtableT< inttriple, int > RhoRHartmaptable
 
CkHashtableT< intdual, int > Orthomaptable
 
CkHashtableT< intdual, int > OrthoHelpermaptable
 
CProxy_main mainProxy
 
CProxy_PhysScratchCache pScratchProxy
 
Config config
 addtogroup Uber More...
 
CProxy_TimeKeeper TimeKeeperProxy
 
CProxy_InstanceController instControllerProxy
 
CProxy_TemperController temperControllerProxy
 
CProxy_ENL_EKE_Collector ENLEKECollectorProxy
 
CPcharmParaInfo simReadOnly
 

Detailed Description

Defining all the Charm++ readonly variables, which include proxies.

to access the arrays and groups and the Communication Library handles.

Variable Documentation

Config config

addtogroup Uber

Uber Arrays connect multiple arrays by referring to them by Uber Indexed collections. So all elements which have Uarr[i][j][k] are one logical instance.

Where we formerly had readonly proxies we now have readonly CkVec's of proxies. Each index tuple (i,j,k) will have an associated proxyOffset (PO). someProxy[PO] will have the proxy for the tuple associated with PO for all proxies.

POs will be assigned using a dense 3D enumeration with k the innermost. So the PO is always derivable from the tuple and visa versa, but we keep PO to avoid recalculation overhead. No race condition for the ID space. Not that this matters since we don't have a scenario in which we create instances in parallel.

PO=(i*Jmax+j) * Kmax +k;

In practice, typical array objects only need a minority subset of the proxies in their instance, and perhaps 1 proxy outside their instance. These can be constructed local to the object without a great proliferation of proxies. They simply copy the proxy from someProxy[proxyOffset] for frequently used proxies.

Definition at line 58 of file mapvariables.h.

CProxy_InstanceController instControllerProxy
Note
: Putting this declaration further down seems to screw things. Whats the issue with fft malloc & free declarations?

Definition at line 60 of file mapvariables.h.

Referenced by CP_State_RealSpacePlane::init(), and CP_State_RealParticlePlane::initComplete().