#include <NDMeshStreamer.h>
Public Member Functions | |
ArrayMeshStreamer (int maxNumDataItemsBuffered, int numDimensions, int *dimensionSizes, CkArrayID clientAID, bool yieldFlag=0, double progressPeriodInMs=-1.0) | |
ArrayMeshStreamer (int numDimensions, int *dimensionSizes, CkArrayID clientAID, int bufferSize, bool yieldFlag=0, double progressPeriodInMs=-1.0) | |
ArrayMeshStreamer (CkMigrateMessage *) | |
void | receiveAtDestination (MeshStreamerMessage< ArrayDataItem< dtype, itype > > *msg) |
void | broadcast (const dtype &dataItem) |
template<bool deliverInline = false> | |
void | insertData (const dtype &dataItem, itype arrayIndex) |
int | copyDataItemIntoMessage (MeshStreamerMessage< ArrayDataItem< dtype, itype > > *destinationBuffer, const void *dataItemHandle, bool copyIndirectly) |
void | processLocationRequest (itype arrayId, int deliveredToPe, int sourcePe) |
void | resendMisdeliveredItems (itype arrayId, int destinationPe) |
void | updateLocationAtSource (itype arrayId, int destinationPe) |
void | pup (PUP::er &p) |
Private Member Functions | |
void | localDeliver (const ArrayDataItem< dtype, itype > &packedDataItem) |
void | localBroadcast (const ArrayDataItem< dtype, itype > &packedDataItem) |
void | initLocalClients () |
Private Attributes | |
CkArrayID | clientAID_ |
CkArray * | clientArrayMgr_ |
CkLocMgr * | clientLocMgr_ |
int | numArrayElements_ |
int | numLocalArrayElements_ |
std::map< itype, std::vector < ArrayDataItem< dtype, itype > > > | misdeliveredItems |
std::vector< ClientType * > | clientObjs_ |
std::vector< int > | destinationPes_ |
std::vector< bool > | isCachedArrayMetadata_ |
Data Structures | |
struct | DataItemHandle |
Definition at line 1035 of file NDMeshStreamer.h.
ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::ArrayMeshStreamer | ( | int | maxNumDataItemsBuffered, | |
int | numDimensions, | |||
int * | dimensionSizes, | |||
CkArrayID | clientAID, | |||
bool | yieldFlag = 0 , |
|||
double | progressPeriodInMs = -1.0 | |||
) | [inline] |
Definition at line 1130 of file NDMeshStreamer.h.
References CkArrayID::ckLocalBranch(), MeshStreamer< dtype >::ctorHelper(), and CkArray::getLocMgr().
ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::ArrayMeshStreamer | ( | int | numDimensions, | |
int * | dimensionSizes, | |||
CkArrayID | clientAID, | |||
int | bufferSize, | |||
bool | yieldFlag = 0 , |
|||
double | progressPeriodInMs = -1.0 | |||
) | [inline] |
Definition at line 1141 of file NDMeshStreamer.h.
References CkArrayID::ckLocalBranch(), MeshStreamer< dtype >::ctorHelper(), and CkArray::getLocMgr().
ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::ArrayMeshStreamer | ( | CkMigrateMessage * | ) | [inline] |
Definition at line 1152 of file NDMeshStreamer.h.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::localDeliver | ( | const ArrayDataItem< dtype, itype > & | packedDataItem | ) | [inline, private] |
Definition at line 1053 of file NDMeshStreamer.h.
References ArrayDataItem< dtype, itype >::arrayIndex, CompletionDetector::consume(), ArrayDataItem< dtype, itype >::dataItem, MeshStreamer< dtype >::detectorLocalObj_, MeshStreamer< dtype >::localBroadcast(), MeshStreamer< dtype >::myIndex_, QdProcess(), size, ArrayDataItem< dtype, itype >::sourcePe, MeshStreamer< dtype >::useCompletionDetection_, MeshStreamer< dtype >::useStagedCompletion_, and TramBroadcastInstance< CkArrayIndex >::value().
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::localBroadcast | ( | const ArrayDataItem< dtype, itype > & | packedDataItem | ) | [inline, private] |
Definition at line 1094 of file NDMeshStreamer.h.
References CompletionDetector::consume(), ArrayDataItem< dtype, itype >::dataItem, MeshStreamer< dtype >::detectorLocalObj_, QdProcess(), and MeshStreamer< dtype >::useCompletionDetection_.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::initLocalClients | ( | ) | [inline, private] |
Definition at line 1106 of file NDMeshStreamer.h.
References data, and MeshStreamer< dtype >::useCompletionDetection_.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::receiveAtDestination | ( | MeshStreamerMessage< ArrayDataItem< dtype, itype > > * | msg | ) | [inline] |
Definition at line 1154 of file NDMeshStreamer.h.
References MeshStreamer< dtype >::localDeliver(), MeshStreamer< dtype >::markMessageReceived(), msg, and MeshStreamer< dtype >::useStagedCompletion_.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::broadcast | ( | const dtype & | dataItem | ) | [inline] |
Definition at line 1168 of file NDMeshStreamer.h.
References ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::DataItemHandle::arrayIndex, MeshStreamer< dtype >::broadcast(), ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::DataItemHandle::dataItem, MeshStreamer< dtype >::detectorLocalObj_, MeshStreamer< dtype >::localBroadcast(), MeshStreamer< dtype >::myIndex_, MeshStreamer< dtype >::numDimensions_, MeshStreamer< dtype >::numMembers_, CompletionDetector::produce(), QdCreate(), MeshStreamer< dtype >::stagedCompletionStarted_, and MeshStreamer< dtype >::useCompletionDetection_.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::insertData | ( | const dtype & | dataItem, | |
itype | arrayIndex | |||
) | [inline] |
Definition at line 1194 of file NDMeshStreamer.h.
References ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::DataItemHandle::arrayIndex, ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::DataItemHandle::dataItem, MeshStreamer< dtype >::detectorLocalObj_, MeshStreamer< dtype >::insertData(), MeshStreamer< dtype >::localDeliver(), MeshStreamer< dtype >::myIndex_, CompletionDetector::produce(), QdCreate(), MeshStreamer< dtype >::stagedCompletionStarted_, and MeshStreamer< dtype >::useCompletionDetection_.
int ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::copyDataItemIntoMessage | ( | MeshStreamerMessage< ArrayDataItem< dtype, itype > > * | destinationBuffer, | |
const void * | dataItemHandle, | |||
bool | copyIndirectly | |||
) | [inline] |
Definition at line 1236 of file NDMeshStreamer.h.
References ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::DataItemHandle::arrayIndex, MeshStreamer< dtype >::copyDataItemIntoMessage(), ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::DataItemHandle::dataItem, and MeshStreamer< dtype >::myIndex_.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::processLocationRequest | ( | itype | arrayId, | |
int | deliveredToPe, | |||
int | sourcePe | |||
) | [inline] |
Definition at line 1262 of file NDMeshStreamer.h.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::resendMisdeliveredItems | ( | itype | arrayId, | |
int | destinationPe | |||
) | [inline] |
Definition at line 1268 of file NDMeshStreamer.h.
References MeshStreamer< dtype >::myRouter_, and MeshStreamer< dtype >::storeMessage().
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::updateLocationAtSource | ( | itype | arrayId, | |
int | destinationPe | |||
) | [inline] |
Definition at line 1284 of file NDMeshStreamer.h.
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::pup | ( | PUP::er & | p | ) | [inline] |
Definition at line 1308 of file NDMeshStreamer.h.
References PUP::er::isPacking(), PUP::er::isUnpacking(), and PUP::er::size().
CkArrayID ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientAID_ [private] |
Definition at line 1040 of file NDMeshStreamer.h.
CkArray* ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientArrayMgr_ [private] |
Definition at line 1041 of file NDMeshStreamer.h.
CkLocMgr* ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientLocMgr_ [private] |
Definition at line 1042 of file NDMeshStreamer.h.
int ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::numArrayElements_ [private] |
Definition at line 1043 of file NDMeshStreamer.h.
int ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::numLocalArrayElements_ [private] |
Definition at line 1044 of file NDMeshStreamer.h.
std::map<itype, std::vector<ArrayDataItem<dtype, itype> > > ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::misdeliveredItems [private] |
Definition at line 1045 of file NDMeshStreamer.h.
std::vector<ClientType *> ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientObjs_ [private] |
Definition at line 1047 of file NDMeshStreamer.h.
std::vector<int> ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::destinationPes_ [private] |
Definition at line 1048 of file NDMeshStreamer.h.
std::vector<bool> ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::isCachedArrayMetadata_ [private] |
Definition at line 1049 of file NDMeshStreamer.h.