PPL Logo

ck-core/ckarray.C File Reference

Go to the source code of this file.

Data Structures

class  CkArrayBroadcaster
 This arrayListener is in charge of delivering broadcasts to the array. More...
class  CkArrayReducer
 This arrayListener is in charge of performing reductions on the array. More...
class  ArrayElement_initInfo
struct  CkInsertIdxMsg
struct  CkCreateArrayAsyncMsg

Functions

 CpvDeclare (int, serializer)
 CkpvStaticDeclare (ArrayElement_initInfo, initInfo)
 CK_REDUCTION_CONTRIBUTE_METHODS_DEF (ArrayElement, thisArray,*(contributorInfo *)&listenerData[thisArray->reducer->ckGetOffset()], true) void ArrayElement
 CK_REDUCTION_CLIENT_DEF (CProxy_ArrayBase, ckLocalBranch())
IrrGrouplookupGroupAndBufferIfNotThere (CkCoreState *ck, envelope *env, const CkGroupID &groupID)
void ckinsertIdxFunc (void *m)
void CkSendAsyncCreateArray (int ctor, CkCallback cb, CkArrayOptions opts, void *ctorMsg)
static void CkCreateArrayAsync (void *vmsg)
void _ckArrayInit (void)
void testPup (PUP::er &p, int shouldBe)
void msg_prepareSend (CkArrayMessage *msg, int ep, CkArrayID aid)
 Fill out a message's array fields before sending it.
void msg_prepareSend_noinline (CkArrayMessage *msg, int ep, CkArrayID aid)
 Just a non-inlined version of msg_prepareSend().
void CkBroadcastMsgSection (int entryIndex, void *msg, CkSectionID sID, int opts)
void CkSetMsgArrayIfNotThere (void *msg)
void CkSendMsgArray (int entryIndex, void *msg, CkArrayID aID, const CkArrayIndex &idx, int opts)
void CkSendMsgArrayInline (int entryIndex, void *msg, CkArrayID aID, const CkArrayIndex &idx, int opts)
void CkBroadcastMsgArray (int entryIndex, void *msg, CkArrayID aID, int opts)

Variables

bool _isAnytimeMigration
 This flag is true when in the system there is anytime migration, false when the user code guarantees that no migration happens except during load balancing (in which case it can only happen between AtSync and ResumeFromSync).
bool _isStaticInsertion
 Array elements are only inserted at construction.
bool _isNotifyChildInRed
 This flag is true when users are sure there is at least one charm array element per processor.
static int ckinsertIdxHdl
static int ckArrayCreationHdl = 0
int _tempBroadcastCount = 0


Detailed Description

Definition in file ckarray.C.


Function Documentation

CpvDeclare ( int  ,
serializer   
)

Referenced by ntohl().

Here is the caller graph for this function:

CkpvStaticDeclare ( ArrayElement_initInfo  ,
initInfo   
)

CK_REDUCTION_CONTRIBUTE_METHODS_DEF ( ArrayElement  ,
thisArray  ,
*(contributorInfo *)&  listenerData[thisArray->reducer->ckGetOffset()],
true   
)

Definition at line 396 of file ckarray.C.

References ArrayElement::allredMgr, and AllreduceMgr::allreduce_recieve().

Here is the call graph for this function:

CK_REDUCTION_CLIENT_DEF ( CProxy_ArrayBase  ,
ckLocalBranch()   
)

Definition at line 624 of file ckarray.C.

References Converse::CkMyPe(), envelope::getGroupDep(), envelope::getGroupDepNum(), _ckGroupID::isZero(), and UsrToEnv().

Here is the call graph for this function:

IrrGroup* lookupGroupAndBufferIfNotThere ( CkCoreState ck,
envelope env,
const CkGroupID groupID 
)

Definition at line 1067 of file ck.C.

References _lookupGroupAndBufferIfNotThere().

Referenced by CProxy_ArrayBase::ckInsertIdx().

Here is the call graph for this function:

Here is the caller graph for this function:

void ckinsertIdxFunc ( void *  m  ) 

Definition at line 695 of file ckarray.C.

References CkInsertIdxMsg::_aid, CProxy_ArrayBase::ckInsertIdx(), CmiFree(), CkInsertIdxMsg::ctor, CkInsertIdxMsg::idx, CkInsertIdxMsg::m, msg, and CkInsertIdxMsg::onPe.

Referenced by _ckArrayInit().

Here is the call graph for this function:

Here is the caller graph for this function:

static void CkCreateArrayAsync ( void *  vmsg  )  [static]

Definition at line 800 of file ckarray.C.

References CkCreateArrayAsyncMsg::cb, CkPupMessage(), CkUnpackMessage(), CkCreateArrayAsyncMsg::ctor, CkCreateArrayAsyncMsg::ctorPayload, EnvToUsr(), CkCallback::isInvalid(), msg, CkCreateArrayAsyncMsg::opts, p, and CkCallback::send().

Referenced by _ckArrayInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void testPup ( PUP::er p,
int  shouldBe 
) [inline]

Definition at line 926 of file ckarray.C.

References PUP::a.

Referenced by CkArray::pup().

Here is the caller graph for this function:

void msg_prepareSend ( CkArrayMessage msg,
int  ep,
CkArrayID  aid 
) [inline]

Fill out a message's array fields before sending it.

Definition at line 1140 of file ckarray.C.

References automaticallySetMessagePriority(), Converse::CkMyPe(), criticalPath_send(), ForArrayEltMsg, envelope::getsetArrayHops(), envelope::getsetArraySrcPe(), envelope::setArrayMgr(), envelope::setEpIdx(), envelope::setMsgtype(), envelope::setRecipientID(), envelope::setSrcPe(), and UsrToEnv().

Referenced by CkSendMsgArray(), and CkSendMsgArrayInline().

Here is the call graph for this function:

Here is the caller graph for this function:

void msg_prepareSend_noinline ( CkArrayMessage msg,
int  ep,
CkArrayID  aid 
)

void CkSetMsgArrayIfNotThere ( void *  msg  ) 

Definition at line 1237 of file ckarray.C.

References CkArrayMessage::array_setIfNotThere(), CkArray_IfNotThere_buffer, ForArrayEltMsg, envelope::setMsgtype(), and UsrToEnv().

Referenced by CkCallback::send().

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

This flag is true when in the system there is anytime migration, false when the user code guarantees that no migration happens except during load balancing (in which case it can only happen between AtSync and ResumeFromSync).

Definition at line 59 of file ckarray.C.

Referenced by _parseCommandLineOpts(), ampiNodeInit(), CkArrayOptions::init(), and TCharm::nodeInit().

Array elements are only inserted at construction.

Definition at line 60 of file ckarray.C.

Referenced by _parseCommandLineOpts(), ampiNodeInit(), CkArrayOptions::init(), and TCharm::nodeInit().

This flag is true when users are sure there is at least one charm array element per processor.

In such case, when doing reduction on the array, the children don't need to be notified that reduction starts

Definition at line 61 of file ckarray.C.

Referenced by _parseCommandLineOpts(), and CkArrayOptions::init().

int ckinsertIdxHdl [static]

Definition at line 693 of file ckarray.C.

int ckArrayCreationHdl = 0 [static]

Definition at line 782 of file ckarray.C.

Definition at line 1481 of file ckarray.C.


Generated on Mon Sep 21 07:57:21 2020 for Charm++ by  doxygen 1.5.5