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()) | |
IrrGroup * | lookupGroupAndBufferIfNotThere (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 |
Definition in file ckarray.C.
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().
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().
IrrGroup* lookupGroupAndBufferIfNotThere | ( | CkCoreState * | ck, | |
envelope * | env, | |||
const CkGroupID & | groupID | |||
) |
Definition at line 1067 of file ck.C.
References _lookupGroupAndBufferIfNotThere().
Referenced by CProxy_ArrayBase::ckInsertIdx().
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().
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().
Definition at line 926 of file ckarray.C.
References PUP::a.
Referenced by CkArray::pup().
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().
void msg_prepareSend_noinline | ( | CkArrayMessage * | msg, | |
int | ep, | |||
CkArrayID | aid | |||
) |
Just a non-inlined version of msg_prepareSend().
Definition at line 1160 of file ckarray.C.
References automaticallySetMessagePriority(), Converse::CkMyPe(), criticalPath_send(), envelope::getsetArrayHops(), envelope::getsetArraySrcPe(), envelope::setArrayMgr(), envelope::setEpIdx(), envelope::setSrcPe(), and UsrToEnv().
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().
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] |
int ckArrayCreationHdl = 0 [static] |