Go to the source code of this file.
Data Structures | |
struct | GroupDepNum |
struct | CkChareID |
struct | _ckGroupID |
struct | _ckSemaID |
Typedefs | |
typedef void *(* | CkPackFnPtr )(void *msg) |
Message pack function: convert a message into a buffer. | |
typedef void *(* | CkUnpackFnPtr )(void *buf) |
Message unpack function: convert a buffer into a message. | |
typedef void(* | CkDeallocFnPtr )(void *msg) |
Message dealloc function: deletes a message. | |
typedef void(* | CkCallFnPtr )(void *msg, void *obj) |
A "call function" to invoke a method on an object. | |
typedef void(* | CkPupReadonlyFnPtr )(void *pup_er) |
This function pup's a global variable. | |
typedef int(* | CkMarshallUnpackFn )(char *marshall_buf, void *object) |
A "marshall unpack" function: pups out parameters and calls a method. | |
typedef void(* | CkMessagePupFn )(PUP::er &p, void *userMessage) |
A "message pup" function: pups message data for debugger display. | |
typedef struct _ckGroupID | CkGroupID |
typedef CkGroupID | CkNodeGroupID |
typedef struct envelope | envelope |
typedef struct _ckSemaID | CkSemaID |
Enumerations | |
enum | ChareType { TypeInvalid = 0, TypeChare, TypeMainChare, TypeGroup, TypeNodeGroup, TypeArray, TypeSection, TypeInvalid = 0, TypeChare, TypeMainChare, TypeGroup, TypeNodeGroup, TypeArray } |
type of a chare More... | |
enum | ChareType { TypeInvalid = 0, TypeChare, TypeMainChare, TypeGroup, TypeNodeGroup, TypeArray, TypeSection, TypeInvalid = 0, TypeChare, TypeMainChare, TypeGroup, TypeNodeGroup, TypeArray } |
enum | CkEnvelopeType { NewChareMsg = 1, NewVChareMsg = 2, BocInitMsg = 3, ForChareMsg = 4, ForBocMsg = 5, ForVidMsg = 6, FillVidMsg = 7, DeleteVidMsg = 8, RODataMsg = 9, ROMsgMsg = 10, ROPeerCompletionMsg = 11, ROChildCompletionMsg = 12, StartExitMsg = 13, ExitMsg = 14, ReqStatMsg = 15, StatMsg = 16, StatDoneMsg = 17, NodeBocInitMsg = 18, ForNodeBocMsg = 19, ArrayEltInitMsg = 20, ForArrayEltMsg = 21, ForIDedObjMsg = 22, WarnMsg = 23, WarnDoneMsg = 24, LAST_CK_ENVELOPE_TYPE } |
Functions | |
void | realCkExit (int exitcode) |
void | CkCleanup (void) |
char ** | CkGetArgv (void) |
int | CkGetArgc (void) |
void * | CkAllocSysMsg (const CkEntryOptions *opts=NULL) |
void * | CkAllocMsg (int msgIdx, int msgBytes, int prioBits, GroupDepNum groupDepNum=GroupDepNum{}) |
void | CkFreeSysMsg (void *msg) |
void * | CkAllocBuffer (void *msg, int bufsize) |
void | CkFreeMsg (void *msg) |
void * | CkCopyMsg (void **pMsg) |
void | CkSetQueueing (void *msg, int strategy) |
void * | CkPriorityPtr (void *msg) |
void | registerCkRegisterMainModuleCallback (void(*cb)(void)) |
void | registerMainchareCtorExtCallback (void(*cb)(int, void *, int, int, char **)) |
void | registerReadOnlyRecvExtCallback (void(*cb)(int, char *)) |
void | registerChareMsgRecvExtCallback (void(*cb)(int, void *, int, int, char *, int)) |
void | registerGroupMsgRecvExtCallback (void(*cb)(int, int, int, char *, int)) |
void | registerArrayMsgRecvExtCallback (void(*cb)(int, int, int *, int, int, char *, int)) |
void | registerArrayElemLeaveExtCallback (int(*cb)(int, int, int *, char **, int)) |
void | registerArrayElemJoinExtCallback (void(*cb)(int, int, int *, int, char *, int)) |
void | registerArrayResumeFromSyncExtCallback (void(*cb)(int, int, int *)) |
void | registerArrayMapProcNumExtCallback (int(*cb)(int, int, const int *)) |
void | StartCharmExt (int argc, char **argv) |
int | CkMyPeHook (void) |
int | CkNumPesHook (void) |
int | CkGroupGetReductionNumber (int gid) |
Get current redNo of specified group instance on this PE. | |
int | CkArrayGetReductionNumber (int aid, int ndims, int *index) |
Get current redNo of specified array element on this PE. | |
void | registerCreateReductionTargetMsgExtCallback (void(*cb)(void *, int, int, int, char **, int *)) |
void | registerPyReductionExtCallback (int(*cb)(char **, int *, int, char **)) |
int | CkRegisterMsg (const char *name, CkPackFnPtr pack, CkUnpackFnPtr unpack, CkDeallocFnPtr dealloc, size_t size) |
Register this message name, with this basic size and pack and unpack functions. | |
int | CkRegisterEp (const char *name, CkCallFnPtr call, int msgIdx, int chareIdx, int ck_ep_flags) |
Register this entry point, with this call function and flags. | |
int | CkRegisterEpTemplated (const char *name, CkCallFnPtr call, int msgIdx, int chareIdx, int ck_ep_flags) |
int | CkRegisterChare (const char *name, size_t dataSz, ChareType chareType) |
Register this type of chare (group, or array), with this size. | |
void | CkRegisterArrayDimensions (int chareIndex, int ndims) |
Register number of array dimensions for this chare array. | |
void | CkRegisterChareInCharm (int chareIndex) |
Register this chare as internal to Charm++. | |
int | CkRegisterMainChare (int chareIndex, int epIndex) |
Register this chare as a mainchare, with this entry point as its constructor. | |
void | CkRegisterMainChareExt (const char *s, int numEntryMethods, int *chareIdx, int *startEpIdx) |
void | CkRegisterDefaultCtor (int chareIndex, int ctorEpIndex) |
Register a default constructor for this chare. | |
void | CkRegisterMigCtor (int chareIndex, int ctorEpIndex) |
Register a migration constructor for this chare. | |
void | CkRegisterGroupIrr (int chareIndex, int isIrr) |
Indicate whether this group is an IrrGroup. | |
void | CkRegisterGroupExt (const char *s, int numEntryMethods, int *chareIdx, int *startEpIdx) |
void | CkRegisterArrayMapExt (const char *s, int numEntryMethods, int *chareIdx, int *startEpIdx) |
void | CkRegisterArrayExt (const char *s, int numEntryMethods, int *chareIdx, int *startEpIdx) |
void | CkRegisterBase (int derivedIdx, int baseIdx) |
Register the chare baseIdx as a base class of the chare derivedIdx. | |
void | CkRegisterReadonly (const char *name, const char *type, size_t size, void *ptr, CkPupReadonlyFnPtr pup_fn) |
Register this readonly global variable. | |
void | CkRegisterReadonlyExt (const char *name, const char *type, size_t msgSize, char *msg) |
void | CkRegisterReadonlyMsg (const char *name, const char *type, void **pMsg) |
Register this readonly message. | |
void | CkRegisterMarshallUnpackFn (int epIndex, CkMarshallUnpackFn m) |
Register this marshall unpack function with this entry point. | |
CkMarshallUnpackFn | CkLookupMarshallUnpackFn (int epIndex) |
Lookup the marshall unpack function, if any, for this entry point. | |
void | CkRegisterMessagePupFn (int epIndex, CkMessagePupFn m) |
Register this message pup function with this entry point. | |
void | CkCreateChare (int chareIdx, int constructorIdx, void *msg, CkChareID *vid, int destPE) |
CkGroupID | CkCreateGroup (int chareIdx, int constructorIdx, void *msg) |
CkGroupID | CkCreateNodeGroup (int chareIdx, int constructorIdx, void *msg) |
void | CkCreateLocalGroup (CkGroupID groupID, int constructorIdx, envelope *env) |
void | CkCreateLocalNodeGroup (CkGroupID groupID, int constructorIdx, envelope *env) |
int | CkCreateGroupExt (int cIdx, int eIdx, int num_bufs, char **bufs, int *buf_sizes) |
int | CkCreateArrayExt (int cIdx, int ndims, int *dims, int eIdx, int num_bufs, char **bufs, int *buf_sizes, int map_gid, char useAtSync) |
void | CkInsertArrayExt (int aid, int ndims, int *index, int epIdx, int onPE, int num_bufs, char **bufs, int *buf_sizes, char useAtSync) |
void | CkArrayDoneInsertingExt (int aid) |
void | CkMigrateExt (int aid, int ndims, int *index, int toPe) |
void | CkSendMsg (int entryIndex, void *msg, const CkChareID *chare, int opts CK_MSGOPTIONAL) |
void | CkSendMsgBranch (int eIdx, void *msg, int destPE, CkGroupID gID, int opts CK_MSGOPTIONAL) |
void | CkSendMsgInline (int entryIndex, void *msg, const CkChareID *chare, int opts CK_MSGOPTIONAL) |
void | CkSendMsgBranchInline (int eIdx, void *msg, int destPE, CkGroupID gID, int opts CK_MSGOPTIONAL) |
void | CkSendMsgBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, const int *pes, int opts CK_MSGOPTIONAL) |
void | CkSendMsgBranchGroup (int eIdx, void *msg, CkGroupID gID, CmiGroup grp, int opts CK_MSGOPTIONAL) |
void | CkSendMsgNodeBranch (int eIdx, void *msg, int destNode, CkGroupID gID, int opts CK_MSGOPTIONAL) |
void | CkSendMsgNodeBranchInline (int eIdx, void *msg, int destNode, CkGroupID gID, int opts CK_MSGOPTIONAL) |
void | CkSendMsgNodeBranchMulti (int eIdx, void *msg, CkGroupID gID, int npes, const int *nodes, int opts CK_MSGOPTIONAL) |
void | CkBroadcastMsgBranch (int eIdx, void *msg, CkGroupID gID, int opts CK_MSGOPTIONAL) |
void | CkBroadcastMsgNodeBranch (int eIdx, void *msg, CkGroupID gID, int opts CK_MSGOPTIONAL) |
int | CkChareMsgPrep (int eIdx, void *msg, const CkChareID *pCid) |
void | CkGroupMsgPrep (int eIdx, void *msg, CkGroupID gID) |
void | CkNodeGroupMsgPrep (int eIdx, void *msg, CkGroupID gID) |
void | CkSetRefNum (void *msg, CMK_REFNUM_TYPE ref) |
CMK_REFNUM_TYPE | CkGetRefNum (void *msg) |
int | CkGetSrcPe (void *msg) |
int | CkGetSrcNode (void *msg) |
void | CkDeliverMessageFree (int epIdx, void *msg, void *object) |
void | CkDeliverMessageReadonly (int epIdx, const void *msg, void *object) |
void * | CkLocalBranch (CkGroupID gID) |
void * | CkLocalNodeBranch (CkGroupID gID) |
void * | CkLocalChare (const CkChareID *chare) |
void | CkArrayManagerDeliver (int onPe, void *msg, int opts CK_MSGOPTIONAL) |
void | CkChareExtSend (int onPE, void *objPtr, int epIdx, char *msg, int msgSize) |
Send msg to chare with ID (onPe,objPtr) to entry method 'epIdx'. | |
void | CkChareExtSend_multi (int onPE, void *objPtr, int epIdx, int num_bufs, char **bufs, int *buf_sizes) |
Send msg to chare copying data into CkMessage from multiple input buffers. | |
void | CkGroupExtSend (int gid, int pe, int epIdx, char *msg, int msgSize) |
Send msg to group with ID 'gid'. | |
void | CkGroupExtSend_multi (int gid, int pe, int epIdx, int num_bufs, char **bufs, int *buf_sizes) |
Send msg to group copying data into CkMessage from multiple input buffers. | |
void | CkArrayExtSend (int aid, int *idx, int ndims, int epIdx, char *msg, int msgSize) |
Send msg to array with ID 'aid'. | |
void | CkArrayExtSend_multi (int aid, int *idx, int ndims, int epIdx, int num_bufs, char **bufs, int *buf_sizes) |
Send msg to array copying data into CkMessage from multiple input buffers. | |
CkSemaID | CkSemaCreate (void) |
void * | CkSemaWait (CkSemaID id) |
void | CkSemaWaitN (CkSemaID id, int n, void *marray[]) |
void | CkSemaSignal (CkSemaID id, void *m) |
void | CkSemaDestroy (CkSemaID id) |
void | CkStartQD (int eIdx, const CkChareID *chare) |
When quiescence occurs, send a message to this entry point of this Chare. | |
void | CkWaitQD (void) |
Block until quiescence occurs. | |
int | CkMessageToEpIdx (void *msg) |
void | CkPrintEntryMethod (int epIdx) |
void | CkPrintChareName (int chareIdx) |
void | CkSummary_MarkEvent (int) |
function call for adding an event mark | |
void | CkSummary_StartPhase (int) |
function call for starting a phase in trace summary logs | |
int | CkDisableTracing (int epIdx) |
void | CkEnableTracing (int epIdx) |
Definition in file charm.h.
void realCkExit | ( | int | exitcode | ) |
char** CkGetArgv | ( | void | ) |
Definition at line 549 of file ck.C.
Referenced by _loadbalancerInit(), _metabalancerInit(), AMPI_API_IMPL(), AMPI_Get_argv(), ampiProcInit(), armciLibStart(), FEM_Init(), FTN_NAME(), ConfigurableRRMapLoader::haveConfiguration(), LV3D0_ProcInit(), POSEreadCmdLine(), TCharm::procInit(), PUPfunctionpointer(), and TCHARM_Get_num_chunks().
int CkGetArgc | ( | void | ) |
Definition at line 552 of file ck.C.
References CmiGetArgc().
Referenced by AMPI_Get_argc(), armciLibStart(), FTN_NAME(), and PUPfunctionpointer().
void* CkAllocSysMsg | ( | const CkEntryOptions * | opts = NULL |
) |
Definition at line 6 of file msgalloc.C.
References _allocEnv(), CmiMemcpy(), EnvToUsr(), ForChareMsg, envelope::getGroupDepPtr(), envelope::getGroupDepSize(), envelope::getPrioBytes(), envelope::getPrioPtr(), int, envelope::setIsVarSysMsg(), setMemoryTypeMessage(), envelope::setMsgIdx(), and envelope::setQueueing().
Referenced by NullLB::AtSync(), CProxy_ArrayBase::ckCreateEmptyArray(), CProxy_ArrayBase::ckCreateEmptyArrayAsync(), CProxy_ArrayBase::ckInsertIdx(), CkPupChareData(), CkPupPerPlaceData(), CkArray::demandCreateElement(), and CkCallback::send().
Referenced by _initCharm(), CkQdMsg::alloc(), CkStartQD(), prioMsg::operator new(), cancelMsg::operator new(), eventMsg::operator new(), CkQdMsg::operator new(), and QdState::sendCount().
void CkFreeSysMsg | ( | void * | msg | ) |
Definition at line 30 of file msgalloc.C.
Referenced by ArrayElemExt::__AtSyncEntryMethod(), CkPupChareData(), and migrationDone().
void* CkAllocBuffer | ( | void * | msg, | |
int | bufsize | |||
) |
Definition at line 46 of file msgalloc.C.
References _allocEnv(), CmiMemcpy(), EnvToUsr(), envelope::getGroupDepNum(), envelope::getMsgtype(), envelope::getPriobits(), envelope::getPrioBytes(), envelope::getPrioPtr(), envelope::getTotalsize(), int, envelope::isPacked(), envelope::setPacked(), envelope::setTotalsize(), size, and UsrToEnv().
Referenced by objListMsg::pack(), ChildInitMsg::pack(), NeighborMsg::pack(), ChildInitMsg::unpack(), and NeighborMsg::unpack().
void CkFreeMsg | ( | void * | msg | ) |
Definition at line 63 of file msgalloc.C.
References CmiFree(), and UsrToEnv().
Referenced by _handlePhase0(), _handlePhase1(), _handlePhase2(), _initCharm(), _processHandler(), LBgroup::balance(), PVT::beginCheckpoint(), PVT::beginLoadbalancing(), edge::buildLockingCloud(), sim::Cancel(), elemRef::checkIfLongEdge(), sim::CheckpointStep(), chunk::chunk(), CkCallbackSendExt(), CkSendAsyncCreateArray(), CkWaitVoidFuture(), GVT::computeGVT(), EventMsgPool::EventMsgPool(), chunk::findRemoteNeighbor(), element::flip23remote(), element::flip32remote(), edge::flipPrevent(), edgeRef::flipPrevent(), nodeRef::get(), elemRef::getArea(), edgeRef::getBoundary(), edgeRef::getNbr(), element::getNeighbor(), elemRef::getVolume(), chunk::getVolume(), elemRef::hasDependent(), CkMemCheckPT::isMaster(), edgeRef::isPending(), chunk::LEsplit(), edgeRef::lock(), chunk::lockArc(), edgeRef::locked(), element::lockLF(), chunk::newMesh(), prioMsg::operator delete(), cancelMsg::operator delete(), eventMsg::operator delete(), Stats::operator delete(), CkMessage::operator delete(), CkArrayMessage::operator delete(), CkQdMsg::operator delete(), ConfigurableRRMap::populateInitial(), CldMap::populateInitial(), BlockMap::populateInitial(), CkArrayMap::populateInitial(), LBstrategy::recvLoadReport(), element::refineCP(), element::refineLE(), element::refineLF(), chunk::relocationVote(), element::remove32element(), chunk::removeElement(), chunk::removeNode(), PVT::reportReduce(), chunk::resetTargetVolume(), PVT::resumeAfterCheckpoint(), PVT::resumeAfterLB(), CkCallback::send(), PVT::setGVT(), chunk::setTargetVolume(), edge::split(), edgeRef::split(), sim::Step(), ChildInitMsg::unpack(), NeighborMsg::unpack(), chunk::updateNodeCoord(), chunk::updateNodeCoords(), CkCallbackResumeThread::~CkCallbackResumeThread(), and CkMarshalledMessage::~CkMarshalledMessage().
void* CkCopyMsg | ( | void ** | pMsg | ) |
Definition at line 71 of file msgalloc.C.
References _msgTable, CmiAlloc(), CmiMemcpy(), EnvToUsr(), envelope::getMsgIdx(), envelope::getTotalsize(), envelope::isPacked(), setMemoryTypeMessage(), envelope::setPacked(), size, unpack(), and UsrToEnv().
Referenced by CkMulticastMgr::ArraySectionSend(), CkArray::broadcastHomeElements(), CkDeliverMessageReadonly(), CkArrayBroadcaster::deliver(), CkLocMgr::deliverMsg(), CkLocMgr::deliverUnknown(), CkCheckPTEntry::getCopy(), CkMemCheckPTInfo::getCopy(), CkMulticastMgr::GroupSectionSend(), ConfigurableRRMap::populateInitial(), CkArray::recvBroadcastViaTree(), CkMulticastMgr::recvMsg(), CkArray::sendBroadcast(), sendGroupMsg(), CkLocMgr::sendMsg(), sendNodeGroupMsg(), CkMulticastMgr::sendToLocal(), CkMulticastMgr::SimpleSend(), and CkMemCheckPT::startArrayCheckpoint().
void CkSetQueueing | ( | void * | msg, | |
int | strategy | |||
) |
Definition at line 98 of file msgalloc.C.
References envelope::setQueueing(), and UsrToEnv().
Referenced by SequentialSolver::dequeue_multiple(), NormalLineArray::doFirstFFT(), NormalLineArray::doSecondFFT(), MeshStreamer< dtype >::flushDimension(), GVT::GVT(), LV3D_RenderMsg::new_(), HybridBaseLB::NotifyObjectMigrationDone(), controlPointManager::processControlPoints(), ParallelSolver::registerRootState(), ParallelSolver::registerState(), PVT::resumeAfterCheckpoint(), PVT::resumeAfterLB(), ParallelSolver::setPriority(), prioMsg::setPriority(), cancelMsg::setPriority(), eventMsg::setPriority(), PVT::startPhase(), and MeshStreamer< dtype >::storeMessage().
void* CkPriorityPtr | ( | void * | msg | ) |
Definition at line 104 of file msgalloc.C.
References envelope::getPrioPtr(), and UsrToEnv().
Referenced by SequentialSolver::dequeue_multiple(), NormalLineArray::doFirstFFT(), NormalLineArray::doSecondFFT(), MeshStreamer< dtype >::flushDimension(), GVT::GVT(), LV3D_RenderMsg::new_(), HybridBaseLB::NotifyObjectMigrationDone(), printPriority(), controlPointManager::processControlPoints(), ParallelSolver::registerRootState(), ParallelSolver::registerState(), PVT::resumeAfterCheckpoint(), PVT::resumeAfterLB(), setMsgPriority(), SequentialSolver::setParentInfo(), ParallelSolver::setParentInfo(), ParallelSolver::setPriority(), prioMsg::setPriority(), cancelMsg::setPriority(), eventMsg::setPriority(), PVT::startPhase(), and MeshStreamer< dtype >::storeMessage().
void registerCkRegisterMainModuleCallback | ( | void(*)(void) | cb | ) |
void registerReadOnlyRecvExtCallback | ( | void(*)(int, char *) | cb | ) |
void StartCharmExt | ( | int | argc, | |
char ** | argv | |||
) |
Definition at line 2198 of file ck.C.
References _initCharm(), ConverseInit(), data, ext_args, ext_argv, fd, and Ck::IO::open().
int CkMyPeHook | ( | void | ) |
Definition at line 2285 of file ck.C.
References Converse::CkMyPe().
int CkNumPesHook | ( | void | ) |
Definition at line 2286 of file ck.C.
References Converse::CkNumPes().
Get current redNo of specified group instance on this PE.
Definition at line 2434 of file ck.C.
References CkLocalBranch(), and _ckGroupID::idx.
Get current redNo of specified array element on this PE.
Definition at line 2440 of file ck.C.
References ArrayElement::getRedNo(), and _ckGroupID::idx.
int CkMessageToEpIdx | ( | void * | msg | ) |
Definition at line 3092 of file ck.C.
References envelope::getEpIdx(), envelope::getsetArrayBcastEp(), and UsrToEnv().
Referenced by _call_freeze_on_break_point(), and CpdPupMessage().
void CkPrintEntryMethod | ( | int | epIdx | ) |
Definition at line 313 of file register.C.
References EntryInfo::chareIdx, CkPrintChareName(), EntryInfo::name, and CkRegisteredInfo< T >::size().
void CkPrintChareName | ( | int | chareIdx | ) |
Definition at line 324 of file register.C.
References c, ChareInfo::name, and CkRegisteredInfo< T >::size().
Referenced by CkPrintEntryMethod().
Definition at line 232 of file register.C.
References _smp_mutex, CmiLock(), and CmiUnlock().
Referenced by _ckArrayInit(), and CkSendMsgArrayInline().
void CkEnableTracing | ( | int | epIdx | ) |
Definition at line 240 of file register.C.
References _smp_mutex, CmiLock(), and CmiUnlock().
Referenced by CkSendMsgArrayInline().