PPL Logo

ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod > Class Template Reference

#include <NDMeshStreamer.h>

Inheritance diagram for ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >:

Inheritance graph
[legend]
Collaboration diagram for ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >:

Collaboration graph
[legend]

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_
CkArrayclientArrayMgr_
CkLocMgrclientLocMgr_
int numArrayElements_
int numLocalArrayElements_
std::map< itype, std::vector
< ArrayDataItem< dtype, itype > > > 
misdeliveredItems
std::vector< ClientType * > clientObjs_
std::vector< intdestinationPes_
std::vector< boolisCachedArrayMetadata_

Data Structures

struct  DataItemHandle

Detailed Description

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
class ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >

Definition at line 1035 of file NDMeshStreamer.h.


Constructor & Destructor Documentation

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
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().

Here is the call graph for this function:

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
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().

Here is the call graph for this function:

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::ArrayMeshStreamer ( CkMigrateMessage  )  [inline]

Definition at line 1152 of file NDMeshStreamer.h.


Member Function Documentation

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::localDeliver ( const ArrayDataItem< dtype, itype > &  packedDataItem  )  [inline, private]

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::localBroadcast ( const ArrayDataItem< dtype, itype > &  packedDataItem  )  [inline, private]

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::initLocalClients (  )  [inline, private]

Definition at line 1106 of file NDMeshStreamer.h.

References data, and MeshStreamer< dtype >::useCompletionDetection_.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::receiveAtDestination ( MeshStreamerMessage< ArrayDataItem< dtype, itype > > *  msg  )  [inline]

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::broadcast ( const dtype dataItem  )  [inline]

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
template<bool deliverInline = false>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::insertData ( const dtype dataItem,
itype  arrayIndex 
) [inline]

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
int ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::copyDataItemIntoMessage ( MeshStreamerMessage< ArrayDataItem< dtype, itype > > *  destinationBuffer,
const void *  dataItemHandle,
bool  copyIndirectly 
) [inline]

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::processLocationRequest ( itype  arrayId,
int  deliveredToPe,
int  sourcePe 
) [inline]

Definition at line 1262 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
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().

Here is the call graph for this function:

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
void ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::updateLocationAtSource ( itype  arrayId,
int  destinationPe 
) [inline]

Definition at line 1284 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
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().

Here is the call graph for this function:


Field Documentation

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
CkArrayID ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientAID_ [private]

Definition at line 1040 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
CkArray* ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientArrayMgr_ [private]

Definition at line 1041 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
CkLocMgr* ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientLocMgr_ [private]

Definition at line 1042 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
int ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::numArrayElements_ [private]

Definition at line 1043 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
int ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::numLocalArrayElements_ [private]

Definition at line 1044 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
std::map<itype, std::vector<ArrayDataItem<dtype, itype> > > ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::misdeliveredItems [private]

Definition at line 1045 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
std::vector<ClientType *> ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::clientObjs_ [private]

Definition at line 1047 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
std::vector<int> ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::destinationPes_ [private]

Definition at line 1048 of file NDMeshStreamer.h.

template<class dtype, class itype, class ClientType, class RouterType, int(*)(char *, void *) EntryMethod = defaultMeshStreamerDeliver<dtype,ClientType>>
std::vector<bool> ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::isCachedArrayMetadata_ [private]

Definition at line 1049 of file NDMeshStreamer.h.


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

Generated on Mon Sep 21 08:17:45 2020 for Charm++ by  doxygen 1.5.5