
#include <ComlibStrategy.h>

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. | |
| int * | getCombinedCountList () |
| 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< CkArrayIndex > | src_elements |
| Destination indices that are local to this PE (as determined by the bracketed counting scheme from a previous iteration). | |
| CkVec< CkArrayIndex > | new_src_elements |
| Destination indices that are currently being updated. | |
| CkVec< CkArrayIndex > | dest_elements |
| Destination indices that are local to this PE (as determined by the bracketed counting scheme from a previous iteration). | |
| CkVec< CkArrayIndex > | new_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. | |
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.
| 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] |
Definition at line 276 of file ComlibStrategy.h.
References CkVec< T >::size(), and src_elements.
Referenced by ComlibManager::bracketedDiscover(), and ComlibManager::bracketedReceiveNewPeList().
| 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] |
CkArrayID ComlibArrayInfo::src_aid [private] |
Source Array ID.
Definition at line 219 of file ComlibStrategy.h.
Referenced by ComlibArrayInfo(), getCombinedCountList(), getSourceArrayID(), pup(), purge(), and setSourceArray().
CkArrayID ComlibArrayInfo::dest_aid [private] |
Destination Array ID.
Definition at line 220 of file ComlibStrategy.h.
Referenced by ComlibArrayInfo(), getCombinedCountList(), getDestinationArrayID(), pup(), purge(), and setDestinationArray().
CkVec<CkArrayIndex> ComlibArrayInfo::src_elements [private] |
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().
CkVec<CkArrayIndex> ComlibArrayInfo::new_src_elements [private] |
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().
CkVec<CkArrayIndex> ComlibArrayInfo::dest_elements [private] |
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().
CkVec<CkArrayIndex> ComlibArrayInfo::new_dest_elements [private] |
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().
int ComlibArrayInfo::isSrcArray [private] |
Definition at line 244 of file ComlibStrategy.h.
Referenced by ComlibArrayInfo(), isSourceArray(), pup(), purge(), and setSourceArray().
int ComlibArrayInfo::isDestArray [private] |
Definition at line 245 of file ComlibStrategy.h.
Referenced by ComlibArrayInfo(), isDestinationArray(), pup(), purge(), and setDestinationArray().
bool ComlibArrayInfo::isAllSrc [private] |
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().
int ComlibArrayInfo::totalSrc [private] |
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().
bool ComlibArrayInfo::isAllDest [private] |
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().
int ComlibArrayInfo::totalDest [private] |
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().
1.5.5