PPL Logo

MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE > Class Template Reference

The MSA3D class is a handle to a distributed shared array of items of data type ENTRY. More...

#include <msa-distArray.h>

Collaboration diagram for MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >:

Collaboration graph
[legend]

Public Types

typedef MSA_CacheGroup< ENTRY,
ENTRY_OPS_CLASS,
ENTRIES_PER_PAGE > 
CacheGroup_t
typedef CProxy_MSA_CacheGroup
< ENTRY, ENTRY_OPS_CLASS,
ENTRIES_PER_PAGE > 
CProxy_CacheGroup_t
typedef CProxy_MSA_PageArray
< ENTRY, ENTRY_OPS_CLASS,
ENTRIES_PER_PAGE > 
CProxy_PageArray_t
typedef ENTRY T
typedef ENTRY_OPS_CLASS OPS
typedef MSA3D< ENTRY,
ENTRY_OPS_CLASS,
ENTRIES_PER_PAGE > 
thisMSA
typedef MSAHandle< thisMSAHandle
typedef MSARead< thisMSARead
typedef MSAAccum< thisMSAAccum
typedef MSAWrite< thisMSAWrite

Public Member Functions

 MSA3D ()
virtual void pup (PUP::er &p)
 MSA3D (unsigned x, unsigned y, unsigned z, unsigned int num_wrkrs, unsigned int maxBytes=MSA_DEFAULT_MAX_BYTES)
 Create a completely new MSA array.
 MSA3D (int xa_, int xb_, int ya_, int yb_, int za_, int zb_, unsigned int num_wrkrs, unsigned int maxBytes=MSA_DEFAULT_MAX_BYTES)
 Create a completely new MSA array.
 ~MSA3D ()
void changePE ()
 this function is supposed to be called when the thread/object using this array migrates to another PE.
const CProxy_CacheGroup_tgetCacheGroup () const
unsigned int getNumEntriesPerPage () const
unsigned int index (unsigned x, unsigned y, unsigned z)
unsigned int getPageIndex (unsigned int idx)
 Return the page this entry is stored at.
unsigned int getOffsetWithinPage (unsigned int idx)
 Return the offset, in entries, that this entry is stored at within a page.
void enroll (int num_workers)
void enroll ()
ENTRY & getPageBottom (unsigned int idx, MSA_Page_Fault_t accessMode)
void FreeMem ()
void Prefetch (unsigned int start, unsigned int end)
 Non-blocking prefetch of entries from start to end, inclusive.
int WaitAll ()
 Block until all prefetched pages arrive.
void Unlock ()
 Unlock all locked pages.
void Unlock (unsigned int start, unsigned int end)
 start and end are element indexes.
Write getInitialWrite ()
Accum getInitialAccum ()

Protected Member Functions

const ENTRY * readablePage (unsigned int page)
const ENTRY * readablePage2 (unsigned int page)
ENTRY * writeablePage (unsigned int page, unsigned int offset)
const ENTRY & get (unsigned x, unsigned y, unsigned z)
 Return a read-only copy of the element at idx.
const ENTRY & get2 (unsigned x, unsigned y, unsigned z)
 Return a read-only copy of the element at idx; ONLY WORKS WHEN ELEMENT IS ALREADY IN THE CACHE-- WILL SEGFAULT IF ELEMENT NOT ALREADY PRESENT.
ENTRY & set (unsigned x, unsigned y, unsigned z)
 Return a writeable copy of the element at idx.
ENTRY & accumulate (unsigned x, unsigned y, unsigned z)
 Fetch the ENTRY at idx to be accumulated.
void accumulate (unsigned x, unsigned y, unsigned z, const ENTRY &ent)
 Add ent to the element at idx.
void sync (int single=0, bool clear=false)
 Synchronize reads and writes across the entire array.

Protected Attributes

unsigned int nEntries
 Total number of ENTRY's in the whole array.
bool initHandleGiven
CacheGroup_tcache
 Handle to owner of cache.
CProxy_CacheGroup_t cg

Private Attributes

int xa
 Inclusive lower and upper bounds on entry indices.
int xb
int ya
int yb
int za
int zb
unsigned dim_x
 Size of the array in each dimension.
unsigned dim_y
unsigned dim_z

Friends

class MSAHandle< thisMSA >
class MSARead< thisMSA >
class MSAWrite< thisMSA >
class MSAAccum< thisMSA >

Detailed Description

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
class MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >

The MSA3D class is a handle to a distributed shared array of items of data type ENTRY.

There are nEntries total numer of ENTRY's, with ENTRIES_PER_PAGE data items per "page". It is implemented as a Chare Array of pages, and a Group representing the local cache.

The requirements for the templates are: ENTRY: User data class stored in the array, with at least:

Definition at line 834 of file msa-distArray.h.


Member Typedef Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef MSA_CacheGroup<ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::CacheGroup_t

Definition at line 842 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef CProxy_MSA_CacheGroup<ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::CProxy_CacheGroup_t

Definition at line 843 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef CProxy_MSA_PageArray<ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::CProxy_PageArray_t

Definition at line 844 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef ENTRY MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::T

Definition at line 846 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef ENTRY_OPS_CLASS MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::OPS

Definition at line 847 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef MSA3D<ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::thisMSA

Definition at line 848 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef MSAHandle<thisMSA> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Handle

Definition at line 849 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef MSARead<thisMSA> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Read

Definition at line 850 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef MSAAccum<thisMSA> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Accum

Definition at line 851 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
typedef MSAWrite<thisMSA> MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Write

Definition at line 852 of file msa-distArray.h.


Constructor & Destructor Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::MSA3D (  )  [inline]

Definition at line 887 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::MSA3D ( unsigned  x,
unsigned  y,
unsigned  z,
unsigned int  num_wrkrs,
unsigned int  maxBytes = MSA_DEFAULT_MAX_BYTES 
) [inline]

Create a completely new MSA array.

This call creates the corresponding groups, so only call it once per array.

Valid indices lie in [0,x-1]*[0,y-1]*[0,z-1]

Definition at line 909 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cg, and MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::nEntries.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::MSA3D ( int  xa_,
int  xb_,
int  ya_,
int  yb_,
int  za_,
int  zb_,
unsigned int  num_wrkrs,
unsigned int  maxBytes = MSA_DEFAULT_MAX_BYTES 
) [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::~MSA3D (  )  [inline]

Definition at line 944 of file msa-distArray.h.


Member Function Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
const ENTRY* MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage ( unsigned int  page  )  [inline, protected]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
const ENTRY* MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage2 ( unsigned int  page  )  [inline, protected]

Definition at line 873 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, and MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage2().

Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::get2().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
ENTRY* MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writeablePage ( unsigned int  page,
unsigned int  offset 
) [inline, protected]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
virtual void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pup ( PUP::er p  )  [inline, virtual]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::changePE (  )  [inline]

this function is supposed to be called when the thread/object using this array migrates to another PE.

Definition at line 958 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, and MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cg.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
const CProxy_CacheGroup_t& MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getCacheGroup (  )  const [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getNumEntriesPerPage (  )  const [inline]

Definition at line 971 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::index ( unsigned  x,
unsigned  y,
unsigned  z 
) [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getPageIndex ( unsigned int  idx  )  [inline]

Return the page this entry is stored at.

Definition at line 985 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getOffsetWithinPage ( unsigned int  idx  )  [inline]

Return the offset, in entries, that this entry is stored at within a page.

Definition at line 991 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enroll ( int  num_workers  )  [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::enroll (  )  [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
ENTRY& MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getPageBottom ( unsigned int  idx,
MSA_Page_Fault_t  accessMode 
) [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::FreeMem (  )  [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Prefetch ( unsigned int  start,
unsigned int  end 
) [inline]

Non-blocking prefetch of entries from start to end, inclusive.

Prefetch'd pages are locked into the cache, so you must call unlock afterwards.

Definition at line 1044 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, and MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Prefetch().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::WaitAll (  )  [inline]

Block until all prefetched pages arrive.

Definition at line 1052 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, and MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::WaitAll().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Unlock (  )  [inline]

Unlock all locked pages.

Definition at line 1055 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, and MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::UnlockPages().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::Unlock ( unsigned int  start,
unsigned int  end 
) [inline]

start and end are element indexes.

Unlocks completely spanned pages given a range of elements index'd from "start" to "end", inclusive. If start/end does not span a page completely, i.e. start/end is in the middle of a page, the entire page is still unlocked--in particular, this means you should not have several adjacent ranges locked.

Definition at line 1063 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, and MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::UnlockPages().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
Write MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getInitialWrite (  )  [inline]

Definition at line 1070 of file msa-distArray.h.

References CmiAbort(), and MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::initHandleGiven.

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
Accum MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::getInitialAccum (  )  [inline]

Definition at line 1079 of file msa-distArray.h.

References CmiAbort(), and MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::initHandleGiven.

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
const ENTRY& MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::get ( unsigned  x,
unsigned  y,
unsigned  z 
) [inline, protected]

Return a read-only copy of the element at idx.

May block if the element is not already in the cache.

Definition at line 1093 of file msa-distArray.h.

References idx, MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::index(), offset, MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage(), and x.

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
const ENTRY& MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::get2 ( unsigned  x,
unsigned  y,
unsigned  z 
) [inline, protected]

Return a read-only copy of the element at idx; ONLY WORKS WHEN ELEMENT IS ALREADY IN THE CACHE-- WILL SEGFAULT IF ELEMENT NOT ALREADY PRESENT.

Never blocks; may crash if element not already present.

Definition at line 1105 of file msa-distArray.h.

References idx, MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::index(), offset, and MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::readablePage2().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
ENTRY& MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::set ( unsigned  x,
unsigned  y,
unsigned  z 
) [inline, protected]

Return a writeable copy of the element at idx.

Never blocks; will create a new blank element if none exists locally. UNDEFINED if two threads set the same element.

Definition at line 1116 of file msa-distArray.h.

References idx, MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::index(), offset, MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::writeablePage(), and x.

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
ENTRY& MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accumulate ( unsigned  x,
unsigned  y,
unsigned  z 
) [inline, protected]

Fetch the ENTRY at idx to be accumulated.

You must perform the accumulation on the return value before calling "sync". Never blocks.

Definition at line 1129 of file msa-distArray.h.

References MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accumulate(), MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, idx, MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::index(), and offset.

Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accumulate().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accumulate ( unsigned  x,
unsigned  y,
unsigned  z,
const ENTRY &  ent 
) [inline, protected]

Add ent to the element at idx.

Never blocks. Merges together accumulates from different threads.

Definition at line 1140 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::accumulate().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
void MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::sync ( int  single = 0,
bool  clear = false 
) [inline, protected]

Synchronize reads and writes across the entire array.

Definition at line 1146 of file msa-distArray.h.

References MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache, and MSA_CacheGroup< ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::SyncReq().

Here is the call graph for this function:


Friends And Related Function Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
friend class MSAHandle< thisMSA > [friend]

Definition at line 853 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
friend class MSARead< thisMSA > [friend]

Definition at line 854 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
friend class MSAWrite< thisMSA > [friend]

Definition at line 855 of file msa-distArray.h.

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
friend class MSAAccum< thisMSA > [friend]

Definition at line 856 of file msa-distArray.h.


Field Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::xa [private]

Inclusive lower and upper bounds on entry indices.

Definition at line 837 of file msa-distArray.h.

Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::index(), and MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pup().

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::xb [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::ya [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::yb [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::za [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::zb [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::dim_x [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::dim_y [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::dim_z [private]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
unsigned int MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::nEntries [protected]

Total number of ENTRY's in the whole array.

Definition at line 860 of file msa-distArray.h.

Referenced by MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::MSA3D(), and MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::pup().

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
bool MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::initHandleGiven [protected]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
CacheGroup_t* MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cache [protected]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE>
CProxy_CacheGroup_t MSA::MSA3D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >::cg [protected]


The documentation for this class was generated from the following file:

Generated on Mon Sep 21 08:33:59 2020 for Charm++ by  doxygen 1.5.5