PPL Logo

MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT > Class Template Reference

#include <msa-distArray.h>

Inheritance diagram for MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >:

Inheritance graph
[legend]
Collaboration diagram for MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >:

Collaboration graph
[legend]

Public Types

typedef CProxy_MSA_CacheGroup
< ENTRY, ENTRY_OPS_CLASS,
ENTRIES_PER_PAGE > 
CProxy_CacheGroup_t
typedef MSA1D< ENTRY,
ENTRY_OPS_CLASS,
ENTRIES_PER_PAGE > 
super
typedef ENTRY T
typedef ENTRY_OPS_CLASS OPS
typedef MSA2D< ENTRY,
ENTRY_OPS_CLASS,
ENTRIES_PER_PAGE > 
thisMSA
typedef MSAHandle< thisMSAHandle
typedef MSARead< thisMSARead
typedef MSAAccum< thisMSAAccum
typedef MSAWrite< thisMSAWrite

Public Member Functions

 MSA2D ()
virtual void pup (PUP::er &p)
 MSA2D (unsigned int rows_, unsigned int cols_, unsigned int numwrkrs, unsigned int maxBytes=MSA_DEFAULT_MAX_BYTES)
 MSA2D (unsigned int rows_, unsigned int cols_, CProxy_CacheGroup_t cg_)
unsigned int getIndex (unsigned int row, unsigned int col)
unsigned int getPageIndex (unsigned int row, unsigned int col)
unsigned int getOffsetWithinPage (unsigned int row, unsigned int col)
unsigned int getRows (void) const
unsigned int getCols (void) const
unsigned int getColumns (void) const
MSA_Array_Layout_t getArrayLayout () const
void Prefetch (unsigned int start, unsigned int end)
 Non-blocking prefetch of entries from start to end, inclusive.
void UnlockPages (unsigned int start, unsigned int end)
Write getInitialWrite ()
Accum getInitialAccum ()

Protected Member Functions

const ENTRY & get (unsigned int row, unsigned int col)
const ENTRY & get2 (unsigned int row, unsigned int col)
ENTRY & set (unsigned int row, unsigned int col)

Protected Attributes

unsigned int rows
unsigned int cols

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 = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
class MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >

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


Member Typedef Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef CProxy_MSA_CacheGroup<ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::CProxy_CacheGroup_t

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef MSA1D<ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::super

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef ENTRY MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::T

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef ENTRY_OPS_CLASS MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::OPS

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef MSA2D<ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::thisMSA

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef MSAHandle<thisMSA> MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::Handle

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef MSARead<thisMSA> MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::Read

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef MSAAccum<thisMSA> MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::Accum

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
typedef MSAWrite<thisMSA> MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::Write

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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


Constructor & Destructor Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::MSA2D (  )  [inline]

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::MSA2D ( unsigned int  rows_,
unsigned int  cols_,
unsigned int  numwrkrs,
unsigned int  maxBytes = MSA_DEFAULT_MAX_BYTES 
) [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::MSA2D ( unsigned int  rows_,
unsigned int  cols_,
CProxy_CacheGroup_t  cg_ 
) [inline]

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


Member Function Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
virtual void MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::pup ( PUP::er p  )  [inline, virtual]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getIndex ( unsigned int  row,
unsigned int  col 
) [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getPageIndex ( unsigned int  row,
unsigned int  col 
) [inline]

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

References MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getIndex().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getOffsetWithinPage ( unsigned int  row,
unsigned int  col 
) [inline]

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

References MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getIndex().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getRows ( void   )  const [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getCols ( void   )  const [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getColumns ( void   )  const [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
MSA_Array_Layout_t MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getArrayLayout (  )  const [inline]

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
void MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::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.

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

References MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::cols, MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getIndex(), MSA_ROW_MAJOR, and MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::rows.

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
void MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::UnlockPages ( unsigned int  start,
unsigned int  end 
) [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
Write MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getInitialWrite (  )  [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
Accum MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getInitialAccum (  )  [inline]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
const ENTRY& MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::get ( unsigned int  row,
unsigned int  col 
) [inline, protected]

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

References stats::get(), and MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::getIndex().

Here is the call graph for this function:

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
const ENTRY& MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::get2 ( unsigned int  row,
unsigned int  col 
) [inline, protected]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
ENTRY& MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::set ( unsigned int  row,
unsigned int  col 
) [inline, protected]


Friends And Related Function Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
friend class MSAHandle< thisMSA > [friend]

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
friend class MSARead< thisMSA > [friend]

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
friend class MSAWrite< thisMSA > [friend]

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
friend class MSAAccum< thisMSA > [friend]

Reimplemented from MSA::MSA1D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE >.

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


Field Documentation

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::rows [protected]

template<class ENTRY, class ENTRY_OPS_CLASS, unsigned int ENTRIES_PER_PAGE = MSA_DEFAULT_ENTRIES_PER_PAGE, MSA_Array_Layout_t ARRAY_LAYOUT = MSA_ROW_MAJOR>
unsigned int MSA::MSA2D< ENTRY, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE, ARRAY_LAYOUT >::cols [protected]


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

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