PPL Logo

ComlibArrayInfo Class Reference
[Charm++ Communication Optimization Framework]

Array strategy helper class. More...

#include <ComlibStrategy.h>

Collaboration diagram for ComlibArrayInfo:

Collaboration graph
[legend]

Public Member Functions

 ComlibArrayInfo ()
void setSourceArray (CkArrayID aid, CkArrayIndex *e=0, int nind=0)
 Set the source array used for this strategy.
int isSourceArray ()
CkArrayID getSourceArrayID ()
const CkVec< CkArrayIndex > & getSourceElements ()
void setDestinationArray (CkArrayID aid, CkArrayIndex *e=0, int nind=0)
 Set the destination array used for this strategy.
int isDestinationArray ()
CkArrayID getDestinationArrayID ()
const CkVec< CkArrayIndex > & getDestinationElements ()
int getTotalSrc ()
 Get the number of source array elements.
int getLocalSrc ()
void addNewLocalDestination (const CkArrayIndex &e)
 Add a destination object that is local to this PE to list used in future iterations.
void addNewLocalSource (const CkArrayIndex &e)
 Add a source object that is local to this PE to list used in future iterations.
void useNewSourceAndDestinations ()
 Switch to using the new destination and source lists if the previous iteration found an error and constructed the new list.
int newDestinationListSize ()
int newSourceListSize ()
int getTotalDest ()
int getLocalDest ()
void newElement (CkArrayID &id, const CkArrayIndex &idx)
void localBroadcast (envelope *env)
 Broadcast the message to all local elements (as listed in dest_elements).
void purge ()
 This routine is called only once at the beginning and will take the list of source and destination elements and leave only those that have homePe here.
intgetCombinedCountList ()
 This routine returnes an array of size CkNumPes() where each element follow the convention for bracketed strategies counts.
void printDestElementList ()
void pup (PUP::er &p)
 fix the pup!

Static Public Member Functions

static int localMulticast (CkVec< CkArrayIndex > *idx_vec, envelope *env)
 This method multicasts the message to all the indices in vec.
static void deliver (envelope *env)
 Delivers a message to an array element, making sure that projections is notified.

Private Attributes

CkArrayID src_aid
 Source Array ID.
CkArrayID dest_aid
 Destination Array ID.
CkVec< CkArrayIndexsrc_elements
 Destination indices that are local to this PE (as determined by the bracketed counting scheme from a previous iteration).
CkVec< CkArrayIndexnew_src_elements
 Destination indices that are currently being updated.
CkVec< CkArrayIndexdest_elements
 Destination indices that are local to this PE (as determined by the bracketed counting scheme from a previous iteration).
CkVec< CkArrayIndexnew_dest_elements
 Destination indices that are currently being updated.
int isSrcArray
int isDestArray
bool isAllSrc
 if true then all the array is involved in the operation
int totalSrc
 The total number of src elements involved in the strategy.
bool isAllDest
 if true then all the array is involved in the operation
int totalDest
 The total number of array elements involved in the strategy.

Detailed Description

Array strategy helper class.

Stores the source and destination arrays. Computes most recent processor maps of source and destinaton arrays.

Array section helper functions, make use of sections easier for the communication library.

Definition at line 216 of file ComlibStrategy.h.


Member Function Documentation

int ComlibArrayInfo::isSourceArray (  )  [inline]

Definition at line 261 of file ComlibStrategy.h.

References isSrcArray.

Referenced by ComlibManager::bracketedStartDiscovery().

CkArrayID ComlibArrayInfo::getSourceArrayID (  )  [inline]

Definition at line 262 of file ComlibStrategy.h.

References src_aid.

Referenced by ComlibManager::bracketedStartDiscovery().

const CkVec<CkArrayIndex>& ComlibArrayInfo::getSourceElements (  )  [inline]

Definition at line 263 of file ComlibStrategy.h.

References src_elements.

Referenced by ComlibManager::bracketedStartDiscovery().

int ComlibArrayInfo::isDestinationArray (  )  [inline]

Definition at line 270 of file ComlibStrategy.h.

References isDestArray.

Referenced by ComlibManager::bracketedStartDiscovery().

CkArrayID ComlibArrayInfo::getDestinationArrayID (  )  [inline]

Definition at line 271 of file ComlibStrategy.h.

References dest_aid.

Referenced by ComlibManager::bracketedStartDiscovery().

const CkVec<CkArrayIndex>& ComlibArrayInfo::getDestinationElements (  )  [inline]

Definition at line 272 of file ComlibStrategy.h.

References dest_elements.

Referenced by ComlibManager::bracketedStartDiscovery().

int ComlibArrayInfo::getTotalSrc (  )  [inline]

Get the number of source array elements.

Definition at line 275 of file ComlibStrategy.h.

References totalSrc.

Referenced by ComlibManager::bracketedContributeDiscovery(), and ComlibManager::bracketedReceiveCount().

int ComlibArrayInfo::getLocalSrc (  )  [inline]

void ComlibArrayInfo::addNewLocalDestination ( const CkArrayIndex e  )  [inline]

Add a destination object that is local to this PE to list used in future iterations.

Definition at line 279 of file ComlibStrategy.h.

References new_dest_elements, CkArrayIndexBase::nInts, and CkVec< T >::push_back().

Referenced by ComlibManager::bracketedDiscover(), and ComlibManager::bracketedStartDiscovery().

void ComlibArrayInfo::addNewLocalSource ( const CkArrayIndex e  )  [inline]

Add a source object that is local to this PE to list used in future iterations.

Definition at line 285 of file ComlibStrategy.h.

References new_src_elements, CkArrayIndexBase::nInts, and CkVec< T >::push_back().

Referenced by ComlibManager::bracketedDiscover(), and ComlibManager::bracketedStartDiscovery().

void ComlibArrayInfo::useNewSourceAndDestinations (  )  [inline]

Switch to using the new destination and source lists if the previous iteration found an error and constructed the new list.

Definition at line 291 of file ComlibStrategy.h.

References Converse::CkMyPe(), com_debug, ComlibPrintf(), dest_elements, new_dest_elements, new_src_elements, printDestElementList(), CkVec< T >::removeAll(), CkVec< T >::size(), and src_elements.

Referenced by ComlibManager::bracketedFinalBarrier().

int ComlibArrayInfo::newDestinationListSize (  )  [inline]

Definition at line 305 of file ComlibStrategy.h.

References new_dest_elements, and CkVec< T >::size().

int ComlibArrayInfo::newSourceListSize (  )  [inline]

Definition at line 306 of file ComlibStrategy.h.

References new_src_elements, and CkVec< T >::size().

int ComlibArrayInfo::getTotalDest (  )  [inline]

Definition at line 308 of file ComlibStrategy.h.

References totalDest.

Referenced by ComlibManager::bracketedContributeDiscovery().

int ComlibArrayInfo::getLocalDest (  )  [inline]

Definition at line 309 of file ComlibStrategy.h.

References dest_elements, and CkVec< T >::size().


Field Documentation

Source Array ID.

Definition at line 219 of file ComlibStrategy.h.

Referenced by ComlibArrayInfo(), getCombinedCountList(), getSourceArrayID(), pup(), purge(), and setSourceArray().

Destination Array ID.

Definition at line 220 of file ComlibStrategy.h.

Referenced by ComlibArrayInfo(), getCombinedCountList(), getDestinationArrayID(), pup(), purge(), and setDestinationArray().

Destination indices that are local to this PE (as determined by the bracketed counting scheme from a previous iteration).

Definition at line 225 of file ComlibStrategy.h.

Referenced by getCombinedCountList(), getLocalSrc(), getSourceElements(), pup(), purge(), setSourceArray(), and useNewSourceAndDestinations().

Destination indices that are currently being updated.

At the beginning of the next iteration these will be moved into dest_elements by useNewDestinationList()

Definition at line 231 of file ComlibStrategy.h.

Referenced by addNewLocalSource(), newSourceListSize(), pup(), and useNewSourceAndDestinations().

Destination indices that are local to this PE (as determined by the bracketed counting scheme from a previous iteration).

Definition at line 236 of file ComlibStrategy.h.

Referenced by getCombinedCountList(), getDestinationElements(), getLocalDest(), localBroadcast(), printDestElementList(), pup(), purge(), setDestinationArray(), and useNewSourceAndDestinations().

Destination indices that are currently being updated.

At the beginning of the next iteration these will be moved into dest_elements by useNewDestinationList()

Definition at line 242 of file ComlibStrategy.h.

Referenced by addNewLocalDestination(), newDestinationListSize(), pup(), and useNewSourceAndDestinations().

Definition at line 244 of file ComlibStrategy.h.

Referenced by ComlibArrayInfo(), isSourceArray(), pup(), purge(), and setSourceArray().

if true then all the array is involved in the operation

Definition at line 247 of file ComlibStrategy.h.

Referenced by ComlibArrayInfo(), pup(), and setSourceArray().

The total number of src elements involved in the strategy.

Definition at line 248 of file ComlibStrategy.h.

Referenced by ComlibArrayInfo(), getTotalSrc(), pup(), and setSourceArray().

if true then all the array is involved in the operation

Definition at line 249 of file ComlibStrategy.h.

Referenced by ComlibArrayInfo(), pup(), and setDestinationArray().

The total number of array elements involved in the strategy.

Definition at line 250 of file ComlibStrategy.h.

Referenced by ComlibArrayInfo(), getTotalDest(), pup(), and setDestinationArray().


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

Generated on Fri May 25 08:02:44 2012 for Charm++ by  doxygen 1.5.5