PPL Logo

ck-core/charm++.h File Reference

Go to the source code of this file.

Data Structures

class  CMessage_CkArgMsg
class  CkMarshalledMessage
class  CkMarshallMsg
class  CkMsgQ< MSG >
class  Chare
 The base class of all parallel objects in Charm++, including Array Elements, Groups, and NodeGroups. More...
struct  call_migration_constructor< T, has_migration_constructor >
struct  call_migration_constructor< T, true >
struct  call_migration_constructor< T, false >
struct  call_migration_constructor< T, has_migration_constructor >
class  IrrGroup
class  ReadOnlyExt
 Supports readonlies outside of the C/C++ runtime. See README.charm4py. More...
class  MainchareExt
 Lightweight object to support mainchares defined outside of the C/C++ runtime. More...
class  IsDerivedFrom< D, B >
class  IsDerivedFrom< D, B >::No
class  IsDerivedFrom< D, B >::Yes
struct  CBase
 Base case for the infrastructure to recursively handle inheritance through CBase_foo from anything that implements X::pup(). More...
struct  recursive_pup_impl< T, automatic >
struct  recursive_pup_impl< T, 1 >
struct  recursive_pup_impl< T, 0 >
struct  CBaseT1< Parent, CProxy_Derived >
struct  CBaseT2< Parent1, Parent2, CProxy_Derived >
struct  CBaseT3< Parent1, Parent2, Parent3, CProxy_Derived >
struct  CBaseT4< Parent1, Parent2, Parent3, Parent4, CProxy_Derived >
struct  CBaseT5< Parent1, Parent2, Parent3, Parent4, Parent5, CProxy_Derived >
struct  CBaseT6< Parent1, Parent2, Parent3, Parent4, Parent5, Parent6, CProxy_Derived >
struct  CBaseT7< Parent1, Parent2, Parent3, Parent4, Parent5, Parent6, Parent7, CProxy_Derived >
struct  CBaseT8< Parent1, Parent2, Parent3, Parent4, Parent5, Parent6, Parent7, Parent8, CProxy_Derived >
struct  CBaseT9< Parent1, Parent2, Parent3, Parent4, Parent5, Parent6, Parent7, Parent8, Parent9, CProxy_Derived >
class  CkDelegateData
 Per-proxy data storage for delegation. More...
class  CkDelegateMgr
 Message delegation support, where you send a message via a proxy normally, but the message ends up routed via this special delegateMgr group. More...
class  CProxy
 A proxy is a local handle to a remote object. More...
class  CkReductionClientBundle
 Tiny utility class used by CkReductionClientAdaptor-- lets us keep backward compatability with the old C-style interface. More...
class  CProxy_Group
class  CkIndex_ArrayBase
class  CkIndex_Group
class  CProxy_NodeGroup
class  CProxyElement_NodeGroup
class  GroupExt
 Lightweight object to support chares defined outside of the C/C++ runtime Relays messages to appropiate external chare. More...
class  CkQdMsg
class  CkThrCallArg
class  CkConditional

Typedefs

typedef CkIndex_Group CkIndex_NodeGroup
typedef CkIndex_Group CkIndex_IrrGroup
typedef CProxy_Group CProxy_IrrGroup
typedef CProxyElement_Group CProxyElement_IrrGroup
typedef CProxySection_Group CProxySection_NodeGroup
typedef CProxySection_Group CProxySection_IrrGroup

Functions

 PUPbytes (CkChareID) PUPbytes(CkGroupID) PUPbytes(CmiGroup) CkpvExtern(size_t *
 PUPmarshall (CkMarshalledMessage) class CkEntryOptions
 CkEntryOptions describes the options associated with an entry method invocation, which include the message priority and queuing strategy.
template<typename T>
void recursive_pup (T *obj, PUP::er &p)
 PUPmarshall (CProxy) class CProxy_Chare
 PUPmarshall (CProxy_Chare) typedef void(*CkReductionClientFn)(void *param
 PUPbytes (CkReductionClientBundle) class CProxy_NodeGroup
 PUPmarshall (CProxy_Group) class CProxyElement_Group
 PUPmarshall (CProxyElement_Group) class CProxySection_Group
 PUPmarshall (CProxySection_Group) class CkIndex_Chare
void CkStartQD (const CkCallback &cb)
void CmiMachineProgressImpl ()
template<typename... tArgs>
int CkRegisterEp (const std::string &name, CkCallFnPtr call, int msgIdx, int chareIdx, int ck_ep_flags)
CkMarshallMsgCkAllocateMarshallMsgNoninline (int size, const CkEntryOptions *opts)
CkMarshallMsgCkAllocateMarshallMsg (int size, const CkEntryOptions *opts=NULL)
template<typename T>
T * CkAllocateMarshallMsgT (int size, const CkEntryOptions *opts)
 CkpvExtern (DebugEntryTable, _debugEntryTable)
static const char * idx2str (const CkArrayIndex &ind)
static const char * idx2str (const ArrayElement *el) UNUSED
void checkForInitDone (bool rdmaROCompleted)

Variables

 _offsets
void(* GroupMsgRecvExtCallback )(int, int, int, char *, int)
void(* ChareMsgRecvExtCallback )(int, void *, int, int, char *, int)
int dataSize
int void * data


Typedef Documentation

Definition at line 1041 of file charm++.h.

Definition at line 1042 of file charm++.h.

Definition at line 1120 of file charm++.h.

typedef CProxyElement_Group CProxyElement_IrrGroup

Definition at line 1121 of file charm++.h.

typedef CProxySection_Group CProxySection_NodeGroup

Definition at line 1122 of file charm++.h.

typedef CProxySection_Group CProxySection_IrrGroup

Definition at line 1123 of file charm++.h.


Function Documentation

PUPbytes ( CkChareID   ) 

PUPmarshall ( CkMarshalledMessage   ) 

CkEntryOptions describes the options associated with an entry method invocation, which include the message priority and queuing strategy.

It is only used with parameter marshalling.

These are used by CkAllocateMarshallMsg, below:

Definition at line 61 of file charm++.h.

References CkBitVector::data, index, and CkBitVector::usedBits.

template<typename T>
void recursive_pup ( T *  obj,
PUP::er p 
) [inline]

Definition at line 453 of file charm++.h.

PUPmarshall ( CProxy   ) 

Definition at line 789 of file charm++.h.

References c, Chare::ckGetChareID(), CkChareID::objPtr, CkChareID::onPE, p, CProxy::pup(), and PUP::pup().

Here is the call graph for this function:

PUPmarshall ( CProxy_Chare   ) 

PUPbytes ( CkReductionClientBundle   ) 

PUPmarshall ( CProxy_Group   ) 

Definition at line 916 of file charm++.h.

References Converse::CkMyPe(), operator==(), p, CProxy_Group::pup(), and PUP::pup().

Here is the call graph for this function:

PUPmarshall ( CProxyElement_Group   ) 

PUPmarshall ( CProxySection_Group   ) 

Definition at line 1027 of file charm++.h.

void CkStartQD ( const CkCallback cb  ) 

void CmiMachineProgressImpl (  ) 

Referenced by CpdEndConditionalDeliver_master(), and SendMsgBuf().

Here is the caller graph for this function:

template<typename... tArgs>
int CkRegisterEp ( const std::string &  name,
CkCallFnPtr  call,
int  msgIdx,
int  chareIdx,
int  ck_ep_flags 
) [inline]

Definition at line 1232 of file charm++.h.

References CkAllocateMarshallMsgNoninline(), CkRegisterEpTemplated(), count, index, name, and size.

Referenced by _initCharm(), CkRegisterArrayExt(), CkRegisterArrayMapExt(), CkRegisterGroupExt(), CkRegisterMainChareExt(), RegisterCkLoopHdlrs(), and traceCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

CkMarshallMsg* CkAllocateMarshallMsgNoninline ( int  size,
const CkEntryOptions *  opts 
)

Definition at line 112 of file msgalloc.C.

References CmiMemcpy(), envelope::getGroupDepPtr(), envelope::getGroupDepSize(), envelope::getPrioBytes(), envelope::getPrioPtr(), int, PUP::m, setMemoryTypeMessage(), envelope::setQueueing(), and UsrToEnv().

Referenced by CkAllocateMarshallMsg(), and CkRegisterEp().

Here is the call graph for this function:

Here is the caller graph for this function:

CkMarshallMsg* CkAllocateMarshallMsg ( int  size,
const CkEntryOptions *  opts = NULL 
) [inline]

Definition at line 1304 of file charm++.h.

References CkAllocateMarshallMsgNoninline(), setMemoryTypeMessage(), and UsrToEnv().

Referenced by CkArrayExtSend(), CkArrayExtSend_multi(), CkChareExtSend(), CkChareExtSend_multi(), CkCreateArrayExt(), CkCreateGroupExt(), CkGroupExtSend(), CkGroupExtSend_multi(), and CkInsertArrayExt().

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename T>
T* CkAllocateMarshallMsgT ( int  size,
const CkEntryOptions *  opts 
) [inline]

Definition at line 1321 of file charm++.h.

References CmiMemcpy(), envelope::getPrioBytes(), envelope::getPrioPtr(), PUP::m, setMemoryTypeMessage(), envelope::setQueueing(), and UsrToEnv().

Here is the call graph for this function:

CkpvExtern ( DebugEntryTable  ,
_debugEntryTable   
)

Referenced by _CkMigratable_prefetchInit().

Here is the caller graph for this function:

static const char* idx2str ( const CkArrayIndex &  ind  )  [static]

static const char * idx2str ( const ArrayElement el  )  [static]

Definition at line 1366 of file charm++.h.

References idx2str(), and CkMigratable::thisIndexMax.

Here is the call graph for this function:


Variable Documentation

Definition at line 37 of file charm++.h.

Referenced by _initCharm().

void(* GroupMsgRecvExtCallback)(int, int, int, char *, int)

void(* ChareMsgRecvExtCallback)(int, void *, int, int, char *, int)

int void* data

Definition at line 835 of file charm++.h.

Referenced by CkSparseReducer3D< T >::add(), CkSparseReducer2D< T >::add(), CkSparseReducer1D< T >::add(), DistributedLB::AfterLBReduction(), AMPI_API_IMPL(), final::AmpiMsg(), arg_init(), pathHistoryManager::broadcastCriticalPathProjections(), GreedyAgentLB::BuildCpuArray(), CcsServerCheck(), CfutureCreate(), CfutureWait(), checkData(), AmrUserData::combineAndStore(), CkMulticastMgr::combineFrags(), redistributor2D::continueToNextStep(), CPathReduce(), CPathReduceHandler(), cpd_memory_single_pup(), Cpthread_exit(), Cpthread_getspecific(), Cpthread_setspecific(), Cpthread_top(), CqsDeqDequeue(), CqsPrioqDequeue(), redistributor2D::createDataArray(), CthFixData(), CthStartThread(), CkNodeReductionMgr::evacuate(), FEM_Update_ghost_field(), HybridBaseLB::FindNeighbors(), HbmLB::FindNeighbors(), FTN_NAME(), controlPointManager::gatherAll(), MetaBalancer::generatePlan(), getAvailMemory(), CkDiskCheckPTInfo::getCopy(), MSA_PageT< ENTRY, MERGER, ENTRIES_PER_PAGE >::getData(), final::getData(), MetaBalancer::getLineEq(), FEM_Userdata_item::hasStored(), ArrayMeshStreamer< dtype, itype, ClientType, RouterType, EntryMethod >::initLocalClients(), CtgGlobalList::install(), CkMemCheckPT::isMaster(), liveViz0Deposit(), DistributedLB::LoadReduction(), MSA_PageT< ENTRY, MERGER, ENTRIES_PER_PAGE >::merge(), mesh_data(), MSA_PageT< ENTRY, MERGER, ENTRIES_PER_PAGE >::MSA_PageT(), ntohl(), HybridBaseLB::ObjsMigrated(), MSA_PageT< ENTRY, MERGER, ENTRIES_PER_PAGE >::operator[](), femMeshModify::packEntData(), PCQueuePop(), PCQueueTop(), redistributor2D::printArrays(), TCharm::UserData::pup(), MSA_PageT< ENTRY, MERGER, ENTRIES_PER_PAGE >::pup(), LV3D_Array::pup(), FEM_Userdata_item::pup(), PUPbytes(), pupFromBuf(), PUPmarshall(), pythonCombinePrint(), CtgGlobalList::read(), GroupMeshStreamer< dtype, ClientType, RouterType, EntryMethod >::receiveAtDestination(), MeshStreamerClient< dtype >::receiveCombinedData(), MetaBalancer::ReceiveMinStats(), NborBaseLB::ReceiveStats(), HybridBaseLB::ReceiveStats(), removeProcessedLogs(), controlPointManager::requestAll(), FEM_Userdata_item::restore(), MBlockChunk::send(), CkCallback::send(), CkMulticastMgr::sendToSection(), StartCharmExt(), FEM_Userdata_item::store(), CkCacheStatistics::sumFn(), CkReduction::tupleReduction_fn(), MBlockChunk::update_field(), and MSA_PageT< ENTRY, MERGER, ENTRIES_PER_PAGE >::~MSA_PageT().


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