PPL Logo

Converse

Collaboration diagram for Converse:
Converse--a parallel portability layer. More...


Files

file  convcore.C
 converse main core

Modules

 Converse Machine Layer
 Common structures for all implementations of the machine layer

The machine layer of Converse consist of few common files to all architectures, shown in this module, which are:


 ConverseScheduler
 The portion of Converse responsible for scheduling the execution of incoming messages.

Data Structures

struct  CLA
 This little list of CLA's holds the argument descriptions until it's safe to print them--it's needed because the netlrts- versions don't have printf until they're pretty well started. More...
struct  GroupDef_s
struct  MultiMsg_s
struct  CmiTmpBuf_t
struct  CmiMultipleSendHeader
struct  cmi_cpu_idlerec

Typedefs

typedef unsigned long mmulong
typedef struct GroupDef_sGroupDef
typedef struct MultiMsg_sMultiMsg

Enumerations

enum  { CmiReductionID_globalOffset = 0, CmiReductionID_requestOffset = 1, CmiReductionID_dynamicOffset = 2, CmiReductionID_multiplier = 3 }

Functions

void initQd (char **argv)
void CmiPoolAllocInit (int numBins)
 CpvExtern (int, _traceCoreOn)
void CcdModuleInit (char **)
 Initialize the callback containers.
void CmiMemoryInit (char **)
void CldModuleInit (char **)
void traceAddThreadListeners (CthThread tid, struct envelope *env)
void seedBalancerExit (void)
void EmergencyExit (void)
 CpvDeclare (int, _curRestartPhase)
 CpvCExtern (int, interopExitFlag)
 CpvDeclare (int, interopExitFlag)
 CpvStaticDeclare (int, CmiMainHandlerIDP)
 CpvDeclare (char *, _validProcessors)
 CpvExtern (int, n_hapi_events)
void hapiPollEvents ()
void exitHybridAPI ()
 CpvDeclare (mmulong, MemoryUsage)
 CpvDeclare (mmulong, HiWaterMark)
 CpvDeclare (mmulong, ReportedHiWaterMark)
 CpvDeclare (int, AllocCount)
 CpvDeclare (int, BlocksAllocated)
 CpvDeclare (int, expIOFlushFlag)
 CpvDeclare (char *, explicitIOBuffer)
 CpvDeclare (int, expIOBufferSize)
void * CmiGetNonLocalNodeQ ()
 CpvDeclare (Queue, CsdSchedQueue)
 CpvDeclare (Queue, CsdPrefetchQueue)
 CsvDeclare (Queue, CsdNodeQueue)
 CsvDeclare (CmiNodeLock, CsdNodeQueueLock)
 CpvDeclare (int, CsdStopFlag)
 CpvDeclare (int, CsdLocalCounter)
 CpvDeclare (int, _urgentSend)
void * infi_CmiAlloc (int size)
void infi_CmiFree (void *ptr)
void infi_freeMultipleSend (void *ptr)
void infi_unregAndFreeMeta (void *ch)
void * CmiAlloc_bgq (int size)
void CmiFree_bgq (void *buf)
void * CmiAlloc_ppcq (int size)
void CmiFree_ppcq (void *buf)
 CpvDeclare (void *, CkGridObject)
 CpvDeclare (Queue, CsdGridQueue)
void * LrtsAlloc (int, int)
void * LrtsRdmaAlloc (int, int)
void LrtsFree (void *)
void LrtsRdmaFree (void *)
 CpvStaticDeclare (int, cmiMyPeIdle)
 CsvDeclare (unsigned int, idleThreadsCnt)
 CpvDeclare (Queue, CsdTaskQueue)
 CpvDeclare (void *, CmiSuspendedTaskQueue)
 CpvDeclare (int, isHelperOn)
static void CmiAddCLA (const char *arg, const char *param, const char *desc)
 Add this CLA.
static void CmiPrintCLAs (void)
 Print out the stored list of CLA's.
void CmiArgInit (char **argv)
 Determines if command-line usage information should be printed-- that is, if a "-?", "-h", or "--help" flag is present.
int CmiArgGivingUsage (void)
 Return 1 if we're currently printing command-line usage information.
void CmiArgGroup (const char *parentName, const char *groupName)
 Identifies the module that accepts the following command-line parameters.
int CmiGetArgc (char **argv)
 Count the number of non-NULL arguments in list.
char ** CmiCopyArgs (char **argv)
 Return a new, heap-allocated copy of the argv array.
void CmiDeleteArgs (char **argv, int k)
 Delete the first k argument from the given list, shifting all other arguments down by k spaces.
int CmiGetArgStringDesc (char **argv, const char *arg, char **optDest, const char *desc)
 Find the given argment and string option in argv.
int CmiGetArgString (char **argv, const char *arg, char **optDest)
int CmiGetArgDoubleDesc (char **argv, const char *arg, double *optDest, const char *desc)
 Find the given argument and floating-point option in argv.
int CmiGetArgDouble (char **argv, const char *arg, double *optDest)
int CmiGetArgIntDesc (char **argv, const char *arg, int *optDest, const char *desc)
 Find the given argument and integer option in argv.
int CmiGetArgInt (char **argv, const char *arg, int *optDest)
int CmiGetArgLongDesc (char **argv, const char *arg, CmiInt8 *optDest, const char *desc)
int CmiGetArgLong (char **argv, const char *arg, CmiInt8 *optDest)
int CmiGetArgFlagDesc (char **argv, const char *arg, const char *desc)
 Find the given argument in argv.
int CmiGetArgFlag (char **argv, const char *arg)
void CmiDeprecateArgInt (char **argv, const char *arg, const char *desc, const char *warning)
static char * _implTrimParenthesis (char *str, int trimname)
static const char * _implGetBacktraceSys (const char *name)
void CmiBacktracePrint (void **retPtrs, int nLevels)
 Print out the names of these function pointers.
void CmiPrintStackTrace (int nSkip)
int CmiIsFortranLibraryCall (void)
 CpvDeclare (int, CstatsMaxChareQueueLength)
 CpvDeclare (int, CstatsMaxForChareQueueLength)
 CpvDeclare (int, CstatsMaxFixedChareQueueLength)
 CpvStaticDeclare (int, CstatPrintQueueStatsFlag)
 CpvStaticDeclare (int, CstatPrintMemStatsFlag)
void CstatsInit (char **argv)
int CstatMemory (int i)
int CstatPrintQueueStats (void)
int CstatPrintMemStats (void)
 CpvDeclare (CmiHandlerInfo *, CmiHandlerTable)
 CpvStaticDeclare (int, CmiHandlerCount)
 CpvStaticDeclare (int, CmiHandlerLocal)
 CpvStaticDeclare (int, CmiHandlerGlobal)
 CpvDeclare (int, CmiHandlerMax)
static void CmiExtendHandlerTable (int atLeastLen)
void CmiAssignOnce (int *variable, int value)
void CmiNumberHandler (int n, CmiHandler h)
void CmiNumberHandlerEx (int n, CmiHandlerEx h, void *userPtr)
int CmiRegisterHandler (CmiHandler h)
void CmiRegisterHandlerAssignOnce (CmiHandler h, int *index)
int CmiRegisterHandlerEx (CmiHandlerEx h, void *userPtr)
void CmiRegisterHandlerExAssignOnce (CmiHandlerEx h, void *userPtr, int *index)
int CmiRegisterHandlerLocal (CmiHandler h)
int CmiRegisterHandlerGlobal (CmiHandler h)
static void _cmiZeroHandler (void *msg)
static void CmiHandlerInit (void)
char * CmiPrintDate (void)
 CpvStaticDeclare (double, clocktick)
 CpvStaticDeclare (int, inittime_wallclock)
 CpvStaticDeclare (int, inittime_virtual)
int CmiTimerIsSynchronized (void)
int CmiTimerAbsolute (void)
double CmiStartTimer (void)
double CmiInitTime (void)
void CmiTimerInit (char **argv)
double CmiWallTimer (void)
double CmiCpuTimer (void)
double CmiTimer (void)
 CpvStaticDeclare (double, inittime_virtual)
static double readMHz (void)
 CpvStaticDeclare (double, inittime_walltime)
 CpvStaticDeclare (unsigned long, inittime)
 CpvStaticDeclare (uint64_t, inittime)
static uint64_t PPC64_TimeBase (void)
 CpvStaticDeclare (double, inittime_wallclock)
 CpvStaticDeclare (long long, inittime_wallclock)
int CmiLongSendQueue (int forNode, int longerThanBytes)
 Return 1 if our outgoing message queue for this node is longer than this many bytes.
void CmiSignal (int sig1, int sig2, int sig3, void(*handler)(int))
void CmiSyncVectorSend (int destPE, int n, int *sizes, char **msgs)
CmiCommHandle CmiASyncVectorSend (int destPE, int n, int *sizes, char **msgs)
void CmiSyncVectorSendAndFree (int destPE, int n, int *sizes, char **msgs)
 CpvStaticDeclare (int, CmiReductionMessageHandler)
 CpvStaticDeclare (int, CmiReductionDynamicRequestHandler)
 CpvStaticDeclare (CmiReduction **, _reduce_info)
 CpvStaticDeclare (int, _reduce_info_size)
 CpvStaticDeclare (CmiUInt2, _reduce_seqID_global)
 CpvStaticDeclare (CmiUInt2, _reduce_seqID_request)
 CpvStaticDeclare (CmiUInt2, _reduce_seqID_dynamic)
CmiReductionCmiGetReductionCreate (int id, short int numChildren)
CmiReductionCmiGetReduction (int id)
void CmiClearReduction (int id)
CmiReductionCmiGetNextReduction (short int numChildren)
CmiReductionID CmiGetGlobalReduction (void)
CmiReductionID CmiGetDynamicReduction (void)
void CmiReductionHandleDynamicRequest (char *msg)
void CmiGetDynamicReductionRemote (int handlerIdx, int pe, int dataSize, void *data)
void CmiSendReduce (CmiReduction *red)
void * CmiReduceMergeFn_random (int *size, void *data, void **remote, int n)
void CmiResetGlobalReduceSeqID (void)
static void CmiGlobalReduce (void *msg, int size, CmiReduceMergeFn mergeFn, CmiReduction *red)
static void CmiGlobalReduceStruct (void *data, CmiReducePupFn pupFn, CmiReduceMergeFn mergeFn, CmiHandler dest, CmiReduceDeleteFn deleteFn, CmiReduction *red)
void CmiReduce (void *msg, int size, CmiReduceMergeFn mergeFn)
void CmiReduceStruct (void *data, CmiReducePupFn pupFn, CmiReduceMergeFn mergeFn, CmiHandler dest, CmiReduceDeleteFn deleteFn)
void CmiReduceID (void *msg, int size, CmiReduceMergeFn mergeFn, CmiReductionID id)
void CmiReduceStructID (void *data, CmiReducePupFn pupFn, CmiReduceMergeFn mergeFn, CmiHandler dest, CmiReduceDeleteFn deleteFn, CmiReductionID id)
void CmiListReduce (int npes, int *pes, void *msg, int size, CmiReduceMergeFn mergeFn, CmiReductionID id)
void CmiListReduceStruct (int npes, int *pes, void *data, CmiReducePupFn pupFn, CmiReduceMergeFn mergeFn, CmiHandler dest, CmiReduceDeleteFn deleteFn, CmiReductionID id)
void CmiGroupReduce (CmiGroup grp, void *msg, int size, CmiReduceMergeFn mergeFn, CmiReductionID id)
void CmiGroupReduceStruct (CmiGroup grp, void *data, CmiReducePupFn pupFn, CmiReduceMergeFn mergeFn, CmiHandler dest, CmiReduceDeleteFn deleteFn, CmiReductionID id)
void CmiNodeReduce (void *data, int size, CmiReduceMergeFn mergeFn, int redID, int numChildren, int parent)
void CmiNodeReduce (void *data, int size, void *(*mergeFn)(void *, void **, int), int redID)
void CmiNodeReduce (void *data, int size, void *(*mergeFn)(void *, void **, int), int numChildren, int parent)
void CmiNodeReduce (void *data, int size, void *(*mergeFn)(void *, void **, int))
void CmiNodeReduceStruct (void *data, CmiReducePupFn pupFn, CmiReduceMergeFn mergeFn, CmiHandler dest, CmiReduceDeleteFn deleteFn)
void CmiHandleReductionMessage (void *msg)
void CmiReductionsInit (void)
 CpvStaticDeclare (int, CmiGroupHandlerIndex)
 CpvStaticDeclare (int, CmiGroupCounter)
 CpvStaticDeclare (GroupDef *, CmiGroupTable)
void CmiGroupHandler (GroupDef def)
CmiGroup CmiEstablishGroup (int npes, int *pes)
void CmiLookupGroup (CmiGroup grp, int *npes, int **pes)
void CmiGroupInit (void)
void CmiSyncListSendFn (int npes, const int *pes, int len, char *msg)
CmiCommHandle CmiAsyncListSendFn (int npes, const int *pes, int len, char *msg)
void CmiFreeListSendFn (int npes, const int *pes, int len, char *msg)
 CpvDeclare (int, CmiMulticastHandlerIndex)
void CmiMulticastDeliver (MultiMsg msg)
void CmiMulticastHandler (MultiMsg msg)
void CmiSyncMulticastFn (CmiGroup grp, int len, char *msg)
void CmiFreeMulticastFn (CmiGroup grp, int len, char *msg)
CmiCommHandle CmiAsyncMulticastFn (CmiGroup grp, int len, char *msg)
void CmiMulticastInit (void)
void * arena_malloc (int size)
void arena_free (void *blockPtr)
void * CmiAlloc (int size)
 Allocate `size` bytes of memory usable as a message buffer.
void * CmiRdmaAlloc (int size)
static void * CmiAllocFindEnclosing (void *blk)
 Follow the header links out to the most enclosing block.
void CmiInitMsgHeader (void *msg, int size)
int CmiGetReference (void *blk)
void CmiReference (void *blk)
 Increment the reference count for this block's owner.
int CmiSize (void *blk)
 Return the size of the user portion of this block.
void CmiFree (void *blk)
 Decrement the reference count for this block.
void CmiRdmaFree (void *blk)
 CpvDeclare (CmiTmpBuf_t, CmiTmpBuf)
static void CmiTmpSetup (CmiTmpBuf_t *b)
void * CmiTmpAlloc (int size)
void CmiTmpFree (void *t)
void CmiTmpInit (char **argv)
void CmiMkdir (const char *dirName)
int CmiGetPageSize (void)
static int roundUpSize (unsigned int s)
static int paddingSize (unsigned int s)
static void _CmiMultipleSend (unsigned int destPE, int len, int sizes[], char *msgComps[], int immed)
void CmiMultipleSend (unsigned int destPE, int len, int sizes[], char *msgComps[])
void CmiMultipleIsend (unsigned int destPE, int len, int sizes[], char *msgComps[])
static void CmiMultiMsgHandler (char *msgWhole)
void CmiInitMultipleSend (void)
int HypercubeGetBcastDestinations (int mype, int total_pes, int k, int *dest_pes)
 CpvDeclare (int, CmiImmediateMsgHandlerIdx)
static void CmiImmediateMsgHandler (char *msg)
void CmiInitImmediateMsg (void)
static void on_timeout (cmi_cpu_idlerec *rec, double curWallTime)
static void on_idle (cmi_cpu_idlerec *rec, double curWallTime)
static void on_busy (cmi_cpu_idlerec *rec, double curWallTime)
static void CIdleTimeoutInit (char **argv)
void CrnInit (void)
void CmiIsomallocInit (char **argv)
void CmiIOInit (char **argv)
void CmiInitCPUAffinityUtil (void)
static void CmiProcessPriority (char **argv)
void CommunicationServerInit (void)
static int testEndian (void)
int CmiEndianness (void)
static void checkTSanOptions (void)
void ConverseCommonInit (char **argv)
 Main Converse initialization routine.
void ConverseCommonExit (void)
void register_accel_spe_funcs (void)
void CmiInitCell (void)
void CmiPrintf (const char *format,...)
void CmiError (const char *format,...)
void __cmi_assert (const char *errmsg)
char * CmiCopyMsg (char *msg, int len)
unsigned char computeCheckSum (unsigned char *data, int len)
unsigned int CmiILog2 (unsigned int val)
double CmiLog2 (double x)
int CmiMyRank_ (void)
double CmiReadSize (const char *str)
void CmiSetPeHelpsOtherThreads (int input)

Variables

const char *const CmiCommitID
CmiSwitchToPEFnPtr CmiSwitchToPE
static int CsdLocalMax = CSD_LOCAL_MAX_DEFAULT
int CharmLibInterOperate = 0
void(* notify_crash_fn )(int) = NULL
pthread_mutex_t prefetchLock
CmiNodeLock _smp_mutex
int CmiMyLocalRank
int DataNodeSize
int MaxDataNodes
int QueueUpperBound
int DataNodeWrap
int QueueWrap
int messageQueueOverflow
static int usageChecked = 0
static int printUsage = 0
static const char * CLAformatString = "%20s %10s %s\n"
static int CLAlistLen = 0
static int CLAlistMax = 0
static CLACLAlist = NULL
static int _absoluteTime = 0
static double inittime_wallclock
static double lastT = -1.0
double _cpu_speed_factor
static double clocktick
int _immediateLock = 0
int _immediateFlag = 0
int ccsRunning
int quietModeRequested
int quietMode
CmiSpanningTreeInfo_topoTree = NULL
int _BgOutOfCoreFlag = 0
int _BgInOutOfCoreMode = 0

Detailed Description

Converse--a parallel portability layer.

Converse is the lowest level inside the Charm++ hierarchy. It stands on top of the machine layer, and it provides all the common functionality across platforms.

One converse program is running on every processor (or node in the smp version). it manages the message transmission, and the memory allocation. Charm++, which is on top of Converse, uses its functionality for interprocess *communication.

In order to maintain multiple independent objects inside a single user space program, it uses a personalized version of threads, which can be executed, suspended, and migrated across processors.

It provides a scheduler for message delivery: methods can be registered to the scheduler, and then messages allocated through CmiAlloc can be sent to the correspondent method in a remote processor. This is done through the converse header (which has few common fields, but is architecture dependent).


Typedef Documentation

typedef unsigned long mmulong

Definition at line 192 of file convcore.C.

typedef struct GroupDef_s * GroupDef

typedef struct MultiMsg_s * MultiMsg


Enumeration Type Documentation

anonymous enum

Enumerator:
CmiReductionID_globalOffset 
CmiReductionID_requestOffset 
CmiReductionID_dynamicOffset 
CmiReductionID_multiplier 

Definition at line 2421 of file convcore.C.


Function Documentation

void initQd ( char **  argv  ) 

Definition at line 1205 of file init.C.

References _dummy_dq, _qdCommHandler(), _qdCommHandlerIdx, _qdHandler(), _qdHandlerIdx, CmiAssignOnce(), CmiGetArgIntDesc(), CmiMyPe(), CmiMyRank(), CmiPrintf(), and CmiRegisterHandler().

Referenced by _initCharm(), and ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiPoolAllocInit ( int  numBins  ) 

Definition at line 40 of file cmipool.C.

References malloc_nomigrate().

Referenced by ConverseCommonInit(), and SE_register().

Here is the call graph for this function:

Here is the caller graph for this function:

CpvExtern ( int  ,
_traceCoreOn   
)

void CcdModuleInit ( char **   ) 

Initialize the callback containers.

Definition at line 413 of file conv-conds.C.

References CcdCallBacksReset(), CcdCallOnConditionKeep(), CmiWallTimer(), init_cblist(), malloc(), and periodicCallInterval.

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiMemoryInit ( char **  argv  ) 

Definition at line 732 of file memory.C.

References CmiArgGroup(), CmiMyRank(), CmiNodeAllBarrier(), CmiOutOfMemoryInit(), and meta_init().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CldModuleInit ( char **   ) 

void traceAddThreadListeners ( CthThread  tid,
struct envelope env 
)

void seedBalancerExit ( void   ) 

Definition at line 539 of file cldb.C.

Referenced by ConverseCommonExit().

Here is the caller graph for this function:

void EmergencyExit ( void   ) 

Definition at line 1134 of file init.C.

Referenced by ConverseCommonExit().

Here is the caller graph for this function:

CpvDeclare ( int  ,
_curRestartPhase   
)

CpvCExtern ( int  ,
interopExitFlag   
)

CpvDeclare ( int  ,
interopExitFlag   
)

CpvStaticDeclare ( int  ,
CmiMainHandlerIDP   
)

CpvDeclare ( char *  ,
_validProcessors   
)

CpvExtern ( int  ,
n_hapi_events   
)

void hapiPollEvents (  ) 

Referenced by CsdScheduleForever().

Here is the caller graph for this function:

void exitHybridAPI (  ) 

Referenced by ConverseCommonExit().

Here is the caller graph for this function:

CpvDeclare ( mmulong  ,
MemoryUsage   
)

CpvDeclare ( mmulong  ,
HiWaterMark   
)

CpvDeclare ( mmulong  ,
ReportedHiWaterMark   
)

CpvDeclare ( int  ,
AllocCount   
)

CpvDeclare ( int  ,
BlocksAllocated   
)

CpvDeclare ( int  ,
expIOFlushFlag   
)

CpvDeclare ( char *  ,
explicitIOBuffer   
)

CpvDeclare ( int  ,
expIOBufferSize   
)

void * CmiGetNonLocalNodeQ ( void   ) 

CpvDeclare ( Queue  ,
CsdSchedQueue   
)

CpvDeclare ( Queue  ,
CsdPrefetchQueue   
)

CsvDeclare ( Queue  ,
CsdNodeQueue   
)

CsvDeclare ( CmiNodeLock  ,
CsdNodeQueueLock   
)

CpvDeclare ( int  ,
CsdStopFlag   
)

CpvDeclare ( int  ,
CsdLocalCounter   
)

CpvDeclare ( int  ,
_urgentSend   
)

void* infi_CmiAlloc ( int  size  ) 

Referenced by CmiAlloc(), and CmiRdmaAlloc().

Here is the caller graph for this function:

void infi_CmiFree ( void *  ptr  ) 

Referenced by CmiFree(), and CmiRdmaFree().

Here is the caller graph for this function:

void infi_freeMultipleSend ( void *  ptr  ) 

Definition at line 3362 of file convcore.C.

References infi_unregAndFreeMeta(), len, PUP::m, msg, and offset.

Referenced by CmiFree().

Here is the call graph for this function:

Here is the caller graph for this function:

void infi_unregAndFreeMeta ( void *  ch  ) 

Referenced by infi_freeMultipleSend().

Here is the caller graph for this function:

void* CmiAlloc_bgq ( int  size  ) 

Referenced by CmiAlloc().

Here is the caller graph for this function:

void CmiFree_bgq ( void *  buf  ) 

Referenced by CmiFree().

Here is the caller graph for this function:

void* CmiAlloc_ppcq ( int  size  ) 

Definition at line 50 of file memalloc.C.

References _comm_thread_id, _nodeStart, buf, CmiMyRank(), CmiWallTimer(), malloc_nomigrate(), PPCAtomicDequeue(), CmiMemAllocHdr_ppcq_t::rank, CmiMemAllocHdr_ppcq_t::size, and traceUserBracketEvent().

Referenced by CmiAlloc().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiFree_ppcq ( void *  buf  ) 

Definition at line 124 of file memalloc.C.

References CmiWallTimer(), free_nomigrate(), PPCAtomicEnqueue(), CmiMemAllocHdr_ppcq_t::rank, CmiMemAllocHdr_ppcq_t::size, and traceUserBracketEvent().

Referenced by CmiFree().

Here is the call graph for this function:

Here is the caller graph for this function:

CpvDeclare ( void *  ,
CkGridObject   
)

CpvDeclare ( Queue  ,
CsdGridQueue   
)

void* LrtsAlloc ( int  ,
int   
)

Referenced by CmiAlloc(), and CmiRdmaAlloc().

Here is the caller graph for this function:

void* LrtsRdmaAlloc ( int  ,
int   
)

Referenced by CmiRdmaAlloc().

Here is the caller graph for this function:

void LrtsFree ( void *   ) 

Referenced by CmiFree(), and CmiRdmaFree().

Here is the caller graph for this function:

void LrtsRdmaFree ( void *   ) 

Referenced by CmiRdmaFree().

Here is the caller graph for this function:

CpvStaticDeclare ( int  ,
cmiMyPeIdle   
)

CsvDeclare ( unsigned  int,
idleThreadsCnt   
)

CpvDeclare ( Queue  ,
CsdTaskQueue   
)

CpvDeclare ( void *  ,
CmiSuspendedTaskQueue   
)

CpvDeclare ( int  ,
isHelperOn   
)

static void CmiAddCLA ( const char *  arg,
const char *  param,
const char *  desc 
) [static]

Add this CLA.

Definition at line 314 of file convcore.C.

References CLA::arg, CLAformatString, CLAlistLen, CLAlistMax, CmiAbort(), CmiMyPe(), CmiPrintf(), CLA::desc, free(), CLA::param, printUsage, realloc(), and usageChecked.

Referenced by CmiGetArgDoubleDesc(), CmiGetArgFlagDesc(), CmiGetArgIntDesc(), CmiGetArgLongDesc(), and CmiGetArgStringDesc().

Here is the call graph for this function:

Here is the caller graph for this function:

static void CmiPrintCLAs ( void   )  [static]

Print out the stored list of CLA's.

Definition at line 344 of file convcore.C.

References CLA::arg, c, CLAformatString, CLAlistLen, CmiMyPe(), CmiPrintf(), CLA::desc, and CLA::param.

Referenced by CmiArgInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiArgInit ( char **  argv  ) 

Determines if command-line usage information should be printed-- that is, if a "-?", "-h", or "--help" flag is present.

Must be called after printf is setup.

Definition at line 360 of file convcore.C.

References _smp_mutex, CLAlistLen, CLAlistMax, CmiLock(), CmiMyPe(), CmiPrintCLAs(), CmiUnlock(), free(), printUsage, and usageChecked.

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiArgGivingUsage ( void   ) 

Return 1 if we're currently printing command-line usage information.

Definition at line 384 of file convcore.C.

References CmiMyPe(), and printUsage.

Referenced by CmiArgGroup(), cpd_memory_single_pup(), and status().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiArgGroup ( const char *  parentName,
const char *  groupName 
)

Identifies the module that accepts the following command-line parameters.

Definition at line 389 of file convcore.C.

References CmiArgGivingUsage(), and CmiPrintf().

Referenced by _initCharm(), _loadbalancerInit(), CkMessageWatcherInit(), CmiMemoryInit(), meta_init(), POSEreadCmdLine(), and traceCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiGetArgc ( char **  argv  ) 

Count the number of non-NULL arguments in list.

Definition at line 397 of file convcore.C.

References argc.

Referenced by _initCharm(), AMPI_API_IMPL(), CkGetArgc(), CmiCopyArgs(), ConverseRunPE(), and SendMsgBuf().

Here is the caller graph for this function:

char** CmiCopyArgs ( char **  argv  ) 

Return a new, heap-allocated copy of the argv array.

Definition at line 407 of file convcore.C.

References argc, CmiGetArgc(), and malloc().

Referenced by ConverseInit(), ConverseRunPE(), and PUPfunctionpointer().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiDeleteArgs ( char **  argv,
int  k 
)

Delete the first k argument from the given list, shifting all other arguments down by k spaces.

e.g., argv=={"a","b","c","d",NULL}, k==3 modifies argv={"d",NULL,"c","d",NULL}

Definition at line 422 of file convcore.C.

Referenced by CmiGetArgFlagDesc(), CmiGetArgIntDesc(), CmiGetArgLongDesc(), and CmiGetArgStringDesc().

Here is the caller graph for this function:

int CmiGetArgStringDesc ( char **  argv,
const char *  arg,
char **  optDest,
const char *  desc 
)

Find the given argment and string option in argv.

If the argument is present, set the string option and delete both from argv. If not present, return NULL. e.g., arg=="-name" returns "bob" from argv=={"a.out","foo","-name","bob","bar"}, and sets argv={"a.out","foo","bar"};

Definition at line 436 of file convcore.C.

References CmiAbort(), CmiAddCLA(), and CmiDeleteArgs().

Referenced by _initCharm(), _loadbalancerInit(), _parseCommandLineOpts(), ampiProcInit(), CcsInit(), CkMessageWatcherInit(), CldGraphModuleInit(), CmiGetArgDoubleDesc(), CmiGetArgString(), CmiInitCPUAffinity(), CmiInitMemAffinity(), controlPointMain::controlPointMain(), ConverseInit(), create_partition_map(), CthBaseInit(), LV3D0_ProcInit(), TCharm::procInit(), traceCommonInit(), and TraceCounter::traceInit().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiGetArgString ( char **  argv,
const char *  arg,
char **  optDest 
)

Definition at line 450 of file convcore.C.

References CmiGetArgStringDesc().

Referenced by _parseCommandLineOpts(), ampiProcInit(), ConfigurableRRMapLoader::haveConfiguration(), TCharm::procInit(), and TraceCounter::traceInit().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiGetArgDoubleDesc ( char **  argv,
const char *  arg,
double *  optDest,
const char *  desc 
)

Find the given argument and floating-point option in argv.

Remove it and return 1; or return 0.

Definition at line 457 of file convcore.C.

References CmiAddCLA(), and CmiGetArgStringDesc().

Referenced by _loadbalancerInit(), _metabalancerInit(), CmiGetArgDouble(), controlPointMain::controlPointMain(), traceCommonInit(), TraceSimple::TraceSimple(), TraceSummary::TraceSummary(), and TraceTau::TraceTau().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiGetArgDouble ( char **  argv,
const char *  arg,
double *  optDest 
)

Definition at line 464 of file convcore.C.

References CmiGetArgDoubleDesc().

Here is the call graph for this function:

int CmiGetArgIntDesc ( char **  argv,
const char *  arg,
int optDest,
const char *  desc 
)

Find the given argument and integer option in argv.

If the argument is present, parse and set the numeric option, delete both from argv, and return 1. If not present, return 0. e.g., arg=="-pack" matches argv=={...,"-pack","27",...}, argv=={...,"-pack0xf8",...}, and argv=={...,"-pack=0777",...}; but not argv=={...,"-packsize",...}.

Definition at line 475 of file convcore.C.

Referenced by _loadbalancerInit(), _parseCommandLineOpts(), ampiProcInit(), CcsInit(), CIdleTimeoutInit(), CkMessageWatcherInit(), CldGraphModuleInit(), CmiDeprecateArgInt(), CmiGetArgInt(), CmiInitCPUAffinity(), CmiIOInit(), CmiProcessPriority(), CmiSendMessageXpmem(), ConverseInit(), create_partition_map(), CsdInit(), initQd(), meta_init(), POSEreadCmdLine(), TCharm::procInit(), TCHARM_Get_num_chunks(), traceCommonInit(), TraceMemory::TraceMemory(), TraceSimple::TraceSimple(), TraceSummary::TraceSummary(), and TraceTau::TraceTau().

Here is the caller graph for this function:

int CmiGetArgInt ( char **  argv,
const char *  arg,
int optDest 
)

Definition at line 514 of file convcore.C.

References CmiGetArgIntDesc().

Referenced by ConverseInit(), and SendMsgBuf().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiGetArgLongDesc ( char **  argv,
const char *  arg,
CmiInt8 optDest,
const char *  desc 
)

Definition at line 518 of file convcore.C.

References CmiAbort(), CmiAddCLA(), and CmiDeleteArgs().

Referenced by CmiGetArgLong().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiGetArgLong ( char **  argv,
const char *  arg,
CmiInt8 optDest 
)

Definition at line 557 of file convcore.C.

References CmiGetArgLongDesc().

Here is the call graph for this function:

int CmiGetArgFlagDesc ( char **  argv,
const char *  arg,
const char *  desc 
)

Find the given argument in argv.

If present, delete it and return 1; if not present, return 0. e.g., arg=="-foo" matches argv=={...,"-foo",...} but not argv={...,"-foobar",...}.

Definition at line 566 of file convcore.C.

References CmiAddCLA(), and CmiDeleteArgs().

Referenced by _loadbalancerInit(), _parseCommandLineOpts(), CcsInit(), CkMessageWatcherInit(), CldGraphModuleInit(), CldModuleGeneralInit(), CmiGetArgFlag(), CmiInitCPUAffinity(), CmiInitMemAffinity(), CmiIOInit(), CmiIsomallocInit(), controlPointMain::controlPointMain(), ConverseCommonInit(), ConverseInit(), cpd_memory_single_pup(), create_partition_map(), CstatsInit(), FEM_Init(), FTN_NAME(), CkMemCheckPT::isMaster(), LrtsInitCpuTopo(), meta_init(), POSEreadCmdLine(), TCharm::procInit(), SendMsgBuf(), traceCommonInit(), TraceCounter::traceInit(), TraceMemory::TraceMemory(), and TraceSummary::TraceSummary().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiGetArgFlag ( char **  argv,
const char *  arg 
)

Definition at line 578 of file convcore.C.

References CmiGetArgFlagDesc().

Referenced by _parseCommandLineOpts(), ampiProcInit(), ConverseInit(), SendMsgBuf(), traceCommonInit(), TraceCore::TraceCore(), and TraceCounter::traceInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiDeprecateArgInt ( char **  argv,
const char *  arg,
const char *  desc,
const char *  warning 
)

Definition at line 582 of file convcore.C.

References CmiGetArgIntDesc(), and CmiPrintf().

Referenced by CmiInitPxshm().

Here is the call graph for this function:

Here is the caller graph for this function:

static char* _implTrimParenthesis ( char *  str,
int  trimname 
) [static]

Definition at line 602 of file convcore.C.

Referenced by CmiBacktracePrint(), and CmiIsFortranLibraryCall().

Here is the caller graph for this function:

static const char* _implGetBacktraceSys ( const char *  name  )  [static]

Definition at line 625 of file convcore.C.

Referenced by CmiBacktracePrint().

Here is the caller graph for this function:

void CmiBacktracePrint ( void **  retPtrs,
int  nLevels 
)

Print out the names of these function pointers.

Definition at line 638 of file convcore.C.

References _implGetBacktraceSys(), _implTrimParenthesis(), CmiBacktraceLookup(), CmiMyPe(), CmiPrintf(), free(), and print().

Referenced by CmiPrintStackTrace(), printSlot(), and slotAbort().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiPrintStackTrace ( int  nSkip  ) 

Definition at line 665 of file convcore.C.

References CmiBacktracePrint(), and CmiBacktraceRecord().

Referenced by CmiAbortHelper(), meta_free(), meta_malloc(), and TCHARM_Api_trace().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiIsFortranLibraryCall ( void   ) 

Definition at line 674 of file convcore.C.

References _implTrimParenthesis(), CmiBacktraceLookup(), CmiBacktraceRecord(), and free().

Referenced by meta_aligned_alloc(), meta_malloc(), meta_memalign(), and meta_posix_memalign().

Here is the call graph for this function:

Here is the caller graph for this function:

CpvDeclare ( int  ,
CstatsMaxChareQueueLength   
)

CpvDeclare ( int  ,
CstatsMaxForChareQueueLength   
)

CpvDeclare ( int  ,
CstatsMaxFixedChareQueueLength   
)

CpvStaticDeclare ( int  ,
CstatPrintQueueStatsFlag   
)

CpvStaticDeclare ( int  ,
CstatPrintMemStatsFlag   
)

void CstatsInit ( char **  argv  ) 

Definition at line 716 of file convcore.C.

References CmiGetArgFlagDesc().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

int CstatMemory ( int  i  ) 

Definition at line 752 of file convcore.C.

int CstatPrintQueueStats ( void   ) 

Definition at line 757 of file convcore.C.

int CstatPrintMemStats ( void   ) 

Definition at line 762 of file convcore.C.

CpvDeclare ( CmiHandlerInfo ,
CmiHandlerTable   
)

CpvStaticDeclare ( int  ,
CmiHandlerCount   
)

CpvStaticDeclare ( int  ,
CmiHandlerLocal   
)

CpvStaticDeclare ( int  ,
CmiHandlerGlobal   
)

CpvDeclare ( int  ,
CmiHandlerMax   
)

static void CmiExtendHandlerTable ( int  atLeastLen  )  [static]

Definition at line 779 of file convcore.C.

References free(), malloc(), and max().

Referenced by CmiNumberHandler(), and CmiNumberHandlerEx().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiAssignOnce ( int variable,
int  value 
)

Definition at line 796 of file convcore.C.

References CmiMyRank(), and CmiNodeAllBarrier().

Referenced by _ckArrayInit(), _ckModuleInit(), _initCharm(), CcsInit(), CmiInitCPUAffinity(), CWebInit(), init_comm(), initQd(), and lbprocinit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiNumberHandler ( int  n,
CmiHandler  h 
)

Definition at line 801 of file convcore.C.

References CmiExtendHandlerTable(), CmiHandlerInfo::hdlr, and CmiHandlerInfo::userPtr.

Referenced by CkMessageWatcherInit(), CmiRegisterHandler(), CmiRegisterHandlerGlobal(), and CmiRegisterHandlerLocal().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiNumberHandlerEx ( int  n,
CmiHandlerEx  h,
void *  userPtr 
)

Definition at line 809 of file convcore.C.

References CmiExtendHandlerTable(), CmiHandlerInfo::hdlr, and CmiHandlerInfo::userPtr.

Referenced by CmiRegisterHandlerEx().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiRegisterHandler ( CmiHandler  h  ) 

void CmiRegisterHandlerAssignOnce ( CmiHandler  h,
int index 
)

Definition at line 831 of file convcore.C.

References CmiBarrier(), CmiMyRank(), and CmiRegisterHandler().

Here is the call graph for this function:

int CmiRegisterHandlerEx ( CmiHandlerEx  h,
void *  userPtr 
)

Definition at line 838 of file convcore.C.

References CmiNumberHandlerEx().

Referenced by CmiRegisterHandlerExAssignOnce().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiRegisterHandlerExAssignOnce ( CmiHandlerEx  h,
void *  userPtr,
int index 
)

Definition at line 846 of file convcore.C.

References CmiBarrier(), CmiMyRank(), and CmiRegisterHandlerEx().

Here is the call graph for this function:

int CmiRegisterHandlerLocal ( CmiHandler  h  ) 

Definition at line 854 of file convcore.C.

References CmiNumberHandler().

Here is the call graph for this function:

int CmiRegisterHandlerGlobal ( CmiHandler  h  ) 

Definition at line 862 of file convcore.C.

References CmiError(), CmiMyPe(), and CmiNumberHandler().

Here is the call graph for this function:

static void _cmiZeroHandler ( void *  msg  )  [static]

Definition at line 873 of file convcore.C.

References CmiAbort().

Referenced by CmiHandlerInit().

Here is the call graph for this function:

Here is the caller graph for this function:

static void CmiHandlerInit ( void   )  [static]

Definition at line 877 of file convcore.C.

References _cmiZeroHandler(), and CmiRegisterHandler().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

char * CmiPrintDate ( void   ) 

Definition at line 904 of file convcore.C.

References PUP::t, and stats::time().

Here is the call graph for this function:

CpvStaticDeclare ( double  ,
clocktick   
)

CpvStaticDeclare ( int  ,
inittime_wallclock   
)

CpvStaticDeclare ( int  ,
inittime_virtual   
)

int CmiTimerIsSynchronized ( void   ) 

Definition at line 931 of file convcore.C.

Referenced by SendMsgBuf().

Here is the caller graph for this function:

int CmiTimerAbsolute ( void   ) 

Definition at line 936 of file convcore.C.

Referenced by SendMsgBuf(), TraceProjectionsInit::TraceProjectionsInit(), and TraceSummary::TraceSummary().

Here is the caller graph for this function:

double CmiStartTimer ( void   ) 

Definition at line 941 of file convcore.C.

Referenced by SendMsgBuf(), and traceCommonInit().

Here is the caller graph for this function:

double CmiInitTime ( void   ) 

Definition at line 946 of file convcore.C.

References inittime_wallclock.

Referenced by SendMsgBuf(), and TraceSummary::TraceSummary().

Here is the caller graph for this function:

void CmiTimerInit ( char **  argv  ) 

Definition at line 951 of file convcore.C.

References clocktick, and inittime_wallclock.

Referenced by ConverseCommonInit(), and SendMsgBuf().

Here is the caller graph for this function:

double CmiWallTimer ( void   ) 

Definition at line 962 of file convcore.C.

Referenced by _checkpointRequestHandler(), _ckAckEvac(), _ckEvacBcast(), _getTicket(), _handlePhase2(), _initCharm(), _initHandler(), _messageLoggingInit(), _receiveLocationHandler(), _receiveMigrationNoticeAckHandler(), _recvCheckpointHandler(), _recvGlobalStepHandler(), _recvRestartCheckpointHandler(), _resendMessagesHandler(), _restartHandler(), _sendDetsHandler(), _sendDetsReplyHandler(), _sendReadonlies(), _startCheckpointHandler(), _updateHomeAckHandler(), CkElementEvacuate::addLocation(), DistributedLB::AfterLBReduction(), PVT::beginCheckpoint(), TraceControlPoints::beginExecute(), TraceControlPoints::beginIdle(), TraceSummary::beginPack(), TraceSummary::beginUnpack(), sim::Cancel(), opt::CancelSpawn(), CcdCallBacks(), CcdCallFnAfterOnPE(), CcdModuleInit(), CcdRaiseCondition(), CcdSetMinResolution(), CcsRecvResponse(), CcsSendRequestGeneric(), CkCheckpointMgr::Checkpoint(), sim::CheckpointCommit(), CkClearAllArrayElements(), CkDecideEvacPe(), CkDieNow(), CkEvacuatedElement(), CkMlogRestart(), CkResumeRestartMain(), CldAckNoTaskHandler(), CldAskLoadHandler(), CldBalance(), CldBeginIdle(), CldLoadResponseHandler(), CldStillIdle(), CmiAlloc_ppcq(), CmiFree_ppcq(), CmiFwrite(), CmiSendMessagePxshm(), CmiSendMessageXpmem(), sim::Commit(), CkNodeReductionMgr::contributeWithCounter(), controlPointMain::controlPointMain(), controlPointTimingStamp(), CkMemCheckPT::cpFinish(), CreateLBFunc_Def(), PathHistory::createPath(), criticalPath_send(), criticalPath_split(), criticalPath_start(), CthScheduledDecrement(), CthStartThread(), CthSuspend(), CkMemCheckPT::doItNow(), CkThresholdTimer::done_(), DistributedLB::DoneGossip(), TraceControlPoints::endExecute(), TraceControlPoints::endIdle(), TraceSummary::endPack(), endTraceBigSim_20param(), TraceSummary::endUnpack(), PythonObject::execute(), PythonObject::executeThread(), FTN_NAME(), controlPointManager::generatePlan(), MergeablePathHistory::get_entry_method_time(), getUsage(), heartBeatCheckHandler(), heartBeatHandler(), TraceControlPoints::idleRatio(), informLocationHome(), LBDB::batsyncer::init(), initUsage(), CkMemCheckPT::isMaster(), killLocal(), TraceProjectionsBOC::kMeansDone(), TraceProjectionsBOC::kMeansDoneFlushed(), LrtsInitCpuTopo(), ChareMlogData::next_ticket(), TraceControlPoints::overheadRatio(), POSE_busy_wait(), POSE_init(), POSE_startTimer(), pose::prepExit(), controlPointManager::processControlPoints(), processReceivedTN(), CentralLB::ProcessReceiveMigration(), PumpMsgsBlocking(), PUPbytes(), readKillFile(), ReleasePostedMessages(), TraceControlPoints::resetAll(), TraceControlPoints::resetTimings(), PVT::resumeAfterCheckpoint(), PVT::resumeAfterLB(), LBDB::batsyncer::resumeFromSync(), opt::Rollback(), SendMsgBuf(), CkCheckpointMgr::SendRestartCB(), sim::SeqBeginCheckpoint(), sim::SeqResumeAfterCheckpoint(), PVT::setGVT(), CkThresholdTimer::start_(), startLoadBalancingMlog(), startMlogCheckpoint(), startTraceBigSim(), StealLoad(), StealTask(), sim::Step(), seq::Step(), adapt5::Step(), adapt4::Step(), adapt3::Step(), DistributedLB::Strategy(), localStat::SwitchTimer(), TempAwareRefineLB::TempAwareRefineLB(), localStat::TimerStop(), topo_callback(), TraceControlPoints::traceBegin(), traceCommonInit(), TraceControlPoints::traceEnd(), TraceProjectionsBOC::traceProjectionsParallelShutdown(), TraceTimerCommon(), TraceControlPoints::untracedTime(), CkDiskCheckPTInfo::updateBuffer(), MergeablePathHistory::updateMax(), TempAwareRefineLB::work(), ScotchTopoLB::work(), ScotchLB::work(), zlib_compress(), zlib_decompress(), and CkMessageRecorder::~CkMessageRecorder().

double CmiCpuTimer ( void   ) 

Definition at line 973 of file convcore.C.

References clocktick.

Referenced by CmiTimer(), FTN_NAME(), LDProcessorSpeed(), and SendMsgBuf().

Here is the caller graph for this function:

double CmiTimer ( void   ) 

CpvStaticDeclare ( double  ,
inittime_virtual   
)

static double readMHz ( void   )  [static]

Definition at line 1094 of file convcore.C.

References _smp_mutex, buf, CmiAbort(), CmiLock(), CmiUnlock(), PUP::s, and x.

Here is the call graph for this function:

CpvStaticDeclare ( double  ,
inittime_walltime   
)

CpvStaticDeclare ( unsigned  long,
inittime   
)

CpvStaticDeclare ( uint64_t  ,
inittime   
)

static uint64_t PPC64_TimeBase ( void   )  [inline, static]

Definition at line 1263 of file convcore.C.

CpvStaticDeclare ( double  ,
inittime_wallclock   
)

CpvStaticDeclare ( long  long,
inittime_wallclock   
)

int CmiLongSendQueue ( int  forNode,
int  longerThanBytes 
)

Return 1 if our outgoing message queue for this node is longer than this many bytes.

Definition at line 1501 of file convcore.C.

Referenced by LV3D0_ClientManager_toMaster::progress().

Here is the caller graph for this function:

void CmiSignal ( int  sig1,
int  sig2,
int  sig3,
void(*)(int handler 
)

Definition at line 1508 of file convcore.C.

References handler().

Here is the call graph for this function:

void CmiSyncVectorSend ( int  destPE,
int  n,
int sizes,
char **  msgs 
)

Definition at line 2344 of file convcore.C.

References CmiSyncSendAndFree().

Referenced by _CmiMultipleSend(), CmiASyncVectorSend(), CmiSyncVectorSendAndFree(), and sendMsg().

Here is the call graph for this function:

Here is the caller graph for this function:

CmiCommHandle CmiASyncVectorSend ( int  destPE,
int  n,
int sizes,
char **  msgs 
)

Definition at line 2355 of file convcore.C.

References CmiSyncVectorSend().

Here is the call graph for this function:

void CmiSyncVectorSendAndFree ( int  destPE,
int  n,
int sizes,
char **  msgs 
)

Definition at line 2360 of file convcore.C.

References CmiFree(), and CmiSyncVectorSend().

Here is the call graph for this function:

CpvStaticDeclare ( int  ,
CmiReductionMessageHandler   
)

CpvStaticDeclare ( int  ,
CmiReductionDynamicRequestHandler   
)

CpvStaticDeclare ( CmiReduction **  ,
_reduce_info   
)

CpvStaticDeclare ( int  ,
_reduce_info_size   
)

CpvStaticDeclare ( CmiUInt2  ,
_reduce_seqID_global   
)

CpvStaticDeclare ( CmiUInt2  ,
_reduce_seqID_request   
)

CpvStaticDeclare ( CmiUInt2  ,
_reduce_seqID_dynamic   
)

CmiReduction* CmiGetReductionCreate ( int  id,
short int  numChildren 
)

CmiReduction* CmiGetReduction ( int  id  ) 

Definition at line 2455 of file convcore.C.

References CmiGetReductionCreate().

Referenced by CmiHandleReductionMessage().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiClearReduction ( int  id  ) 

Definition at line 2459 of file convcore.C.

References free(), index, and PUP::u.

Referenced by CmiSendReduce().

Here is the call graph for this function:

Here is the caller graph for this function:

CmiReduction* CmiGetNextReduction ( short int  numChildren  ) 

Definition at line 2465 of file convcore.C.

References CmiGetReductionCreate(), CmiReductionID_globalOffset, and CmiReductionID_multiplier.

Referenced by CmiReduce(), and CmiReduceStruct().

Here is the call graph for this function:

Here is the caller graph for this function:

CmiReductionID CmiGetGlobalReduction ( void   ) 

Definition at line 2472 of file convcore.C.

References CmiReductionID_multiplier.

Referenced by CcsSetMergeFn().

Here is the caller graph for this function:

CmiReductionID CmiGetDynamicReduction ( void   ) 

Definition at line 2476 of file convcore.C.

References CmiAbort(), CmiMyPe(), and CmiReductionID_multiplier.

Referenced by CmiReductionHandleDynamicRequest().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiReductionHandleDynamicRequest ( char *  msg  ) 

Definition at line 2481 of file convcore.C.

References CmiGetDynamicReduction(), CmiSyncBroadcastAllAndFree(), CmiSyncSendAndFree(), int, size, and values.

Referenced by CmiGetDynamicReductionRemote(), and CmiReductionsInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiGetDynamicReductionRemote ( int  handlerIdx,
int  pe,
int  dataSize,
void *  data 
)

Definition at line 2494 of file convcore.C.

References CmiAlloc(), CmiMyPe(), CmiReductionHandleDynamicRequest(), CmiSyncSendAndFree(), int, msg, size, and values.

Here is the call graph for this function:

void CmiSendReduce ( CmiReduction red  ) 

void* CmiReduceMergeFn_random ( int size,
void *  data,
void **  remote,
int  n 
)

Definition at line 2551 of file convcore.C.

Referenced by CpdCharmInit(), and ntohl().

Here is the caller graph for this function:

void CmiResetGlobalReduceSeqID ( void   ) 

Definition at line 2555 of file convcore.C.

Referenced by _resendMessagesHandler(), _sendDetsHandler(), and CkMemCheckPT::isMaster().

Here is the caller graph for this function:

static void CmiGlobalReduce ( void *  msg,
int  size,
CmiReduceMergeFn  mergeFn,
CmiReduction red 
) [static]

static void CmiGlobalReduceStruct ( void *  data,
CmiReducePupFn  pupFn,
CmiReduceMergeFn  mergeFn,
CmiHandler  dest,
CmiReduceDeleteFn  deleteFn,
CmiReduction red 
) [static]

void CmiReduce ( void *  msg,
int  size,
CmiReduceMergeFn  mergeFn 
)

Definition at line 2590 of file convcore.C.

References CmiGetNextReduction(), CmiGlobalReduce(), CmiMyPe(), and CmiNumSpanTreeChildren().

Referenced by _checkpointAckHandler(), _sendStats(), _sendWarnings(), finishedCheckpointLoadBalancing(), CkMemCheckPT::isMaster(), LrtsInitCpuTopo(), and ntohl().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiReduceStruct ( void *  data,
CmiReducePupFn  pupFn,
CmiReduceMergeFn  mergeFn,
CmiHandler  dest,
CmiReduceDeleteFn  deleteFn 
)

Definition at line 2595 of file convcore.C.

References CmiGetNextReduction(), CmiGlobalReduceStruct(), CmiMyPe(), and CmiNumSpanTreeChildren().

Referenced by ntohl().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiReduceID ( void *  msg,
int  size,
CmiReduceMergeFn  mergeFn,
CmiReductionID  id 
)

Definition at line 2602 of file convcore.C.

References CmiGetReductionCreate(), CmiGlobalReduce(), CmiMyPe(), and CmiNumSpanTreeChildren().

Here is the call graph for this function:

void CmiReduceStructID ( void *  data,
CmiReducePupFn  pupFn,
CmiReduceMergeFn  mergeFn,
CmiHandler  dest,
CmiReduceDeleteFn  deleteFn,
CmiReductionID  id 
)

Definition at line 2607 of file convcore.C.

References CmiGetReductionCreate(), CmiGlobalReduceStruct(), CmiMyPe(), and CmiNumSpanTreeChildren().

Here is the call graph for this function:

void CmiListReduce ( int  npes,
int pes,
void *  msg,
int  size,
CmiReduceMergeFn  mergeFn,
CmiReductionID  id 
)

void CmiListReduceStruct ( int  npes,
int pes,
void *  data,
CmiReducePupFn  pupFn,
CmiReduceMergeFn  mergeFn,
CmiHandler  dest,
CmiReduceDeleteFn  deleteFn,
CmiReductionID  id 
)

void CmiGroupReduce ( CmiGroup  grp,
void *  msg,
int  size,
CmiReduceMergeFn  mergeFn,
CmiReductionID  id 
)

Definition at line 2663 of file convcore.C.

References CmiListReduce(), CmiLookupGroup(), and npes.

Here is the call graph for this function:

void CmiGroupReduceStruct ( CmiGroup  grp,
void *  data,
CmiReducePupFn  pupFn,
CmiReduceMergeFn  mergeFn,
CmiHandler  dest,
CmiReduceDeleteFn  deleteFn,
CmiReductionID  id 
)

Definition at line 2669 of file convcore.C.

References CmiListReduceStruct(), CmiLookupGroup(), and npes.

Here is the call graph for this function:

void CmiNodeReduce ( void *  data,
int  size,
CmiReduceMergeFn  mergeFn,
int  redID,
int  numChildren,
int  parent 
)

Definition at line 2677 of file convcore.C.

References CmiAbort().

Referenced by CmiNodeReduce().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiNodeReduce ( void *  data,
int  size,
void *(*)(void *, void **, int mergeFn,
int  redID 
)

Definition at line 2692 of file convcore.C.

References CmiNodeFirst(), CmiNodeReduce(), CmiNodeSpanTreeParent(), and CmiNumNodeSpanTreeChildren().

Here is the call graph for this function:

void CmiNodeReduce ( void *  data,
int  size,
void *(*)(void *, void **, int mergeFn,
int  numChildren,
int  parent 
)

Definition at line 2696 of file convcore.C.

References CmiNodeReduce().

Here is the call graph for this function:

void CmiNodeReduce ( void *  data,
int  size,
void *(*)(void *, void **, int mergeFn 
)

Definition at line 2699 of file convcore.C.

References CmiNodeFirst(), CmiNodeReduce(), CmiNodeSpanTreeParent(), and CmiNumNodeSpanTreeChildren().

Here is the call graph for this function:

void CmiNodeReduceStruct ( void *  data,
CmiReducePupFn  pupFn,
CmiReduceMergeFn  mergeFn,
CmiHandler  dest,
CmiReduceDeleteFn  deleteFn 
)

Definition at line 2705 of file convcore.C.

References CmiAbort().

Here is the call graph for this function:

void CmiHandleReductionMessage ( void *  msg  ) 

Definition at line 2722 of file convcore.C.

References CmiGetReduction(), CmiGetReductionCreate(), CmiSendReduce(), CmiReduction::numChildren, CmiReduction::numRemoteReceived, and CmiReduction::remoteData.

Referenced by CmiReductionsInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiReductionsInit ( void   ) 

Definition at line 2734 of file convcore.C.

References CmiHandleReductionMessage(), CmiReductionHandleDynamicRequest(), CmiReductionID_dynamicOffset, CmiReductionID_globalOffset, CmiReductionID_requestOffset, CmiRegisterHandler(), and malloc().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

CpvStaticDeclare ( int  ,
CmiGroupHandlerIndex   
)

CpvStaticDeclare ( int  ,
CmiGroupCounter   
)

CpvStaticDeclare ( GroupDef ,
CmiGroupTable   
)

void CmiGroupHandler ( GroupDef  def  ) 

Definition at line 2779 of file convcore.C.

References GroupDef_s::core, and GroupDef_s::group.

Referenced by CmiGroupInit().

Here is the caller graph for this function:

CmiGroup CmiEstablishGroup ( int  npes,
int pes 
)

Definition at line 2790 of file convcore.C.

References CmiAlloc(), CmiMyPe(), CmiSyncBroadcastAllAndFree(), GroupDef_s::group, int, len, GroupDef_s::npes, and GroupDef_s::pes.

Referenced by CldComputeNeighborData(), CldReadNeighborData(), and HybridBaseLB::initTree().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiLookupGroup ( CmiGroup  grp,
int npes,
int **  pes 
)

Definition at line 2807 of file convcore.C.

References GroupDef_s::core, GroupDef_s::group, GroupDef_s::npes, and GroupDef_s::pes.

Referenced by CkSendMsgBranchGroup(), CldEnqueueGroup(), CmiGroupReduce(), CmiGroupReduceStruct(), and CmiMulticastDeliver().

Here is the caller graph for this function:

void CmiGroupInit ( void   ) 

Definition at line 2823 of file convcore.C.

References calloc(), CmiAbort(), CmiGroupHandler(), and CmiRegisterHandler().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiSyncListSendFn ( int  npes,
const int pes,
int  len,
char *  msg 
)

Definition at line 2846 of file convcore.C.

Referenced by CmiAsyncListSendFn(), CmiFreeListSendFn(), and CmiSyncListSend().

Here is the caller graph for this function:

CmiCommHandle CmiAsyncListSendFn ( int  npes,
const int pes,
int  len,
char *  msg 
)

Definition at line 2865 of file convcore.C.

void CmiFreeListSendFn ( int  npes,
const int pes,
int  len,
char *  msg 
)

Definition at line 2872 of file convcore.C.

Referenced by CmiSyncListSendAndFree().

Here is the caller graph for this function:

CpvDeclare ( int  ,
CmiMulticastHandlerIndex   
)

void CmiMulticastDeliver ( MultiMsg  msg  ) 

Definition at line 2909 of file convcore.C.

References CmiFree(), CmiLookupGroup(), CmiMyPe(), CmiSyncSend(), CmiSyncSendAndFree(), MultiMsg_s::group, npes, MultiMsg_s::origlen, and MultiMsg_s::pos.

Referenced by CmiMulticastHandler(), and CmiSyncMulticastFn().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiMulticastHandler ( MultiMsg  msg  ) 

Definition at line 2947 of file convcore.C.

References CmiMulticastDeliver().

Referenced by CmiMulticastInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiSyncMulticastFn ( CmiGroup  grp,
int  len,
char *  msg 
)

Definition at line 2952 of file convcore.C.

References CmiAlloc(), and CmiMulticastDeliver().

Referenced by CmiFreeMulticastFn(), and CmiSyncMulticast().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiFreeMulticastFn ( CmiGroup  grp,
int  len,
char *  msg 
)

Definition at line 2970 of file convcore.C.

References CmiFree(), and CmiSyncMulticastFn().

Referenced by CmiSyncMulticastAndFree().

Here is the call graph for this function:

Here is the caller graph for this function:

CmiCommHandle CmiAsyncMulticastFn ( CmiGroup  grp,
int  len,
char *  msg 
)

Definition at line 2976 of file convcore.C.

References CmiError().

Here is the call graph for this function:

void CmiMulticastInit ( void   ) 

Definition at line 2982 of file convcore.C.

References CmiMulticastHandler(), and CmiRegisterHandler().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void* arena_malloc ( int  size  ) 

Referenced by CmiAlloc().

Here is the caller graph for this function:

void arena_free ( void *  blockPtr  ) 

Referenced by CmiFree().

Here is the caller graph for this function:

void* CmiAlloc ( int  size  ) 

Allocate `size` bytes of memory usable as a message buffer.

Such memory may be in limited supply and expensive to obtain on machine layers that use registered or pinned memory when interacting with the communication hardware. Uses besides buffers in which to construct messages should prefer the malloc()/free() provided by libmemory-*.

Definition at line 3021 of file convcore.C.

References arena_malloc(), CmiAlloc_bgq(), CmiAlloc_ppcq(), CmiInitMsgHeader(), CmiMyPe(), CmiPoolAlloc(), CmiPrintf(), infi_CmiAlloc(), LrtsAlloc(), and malloc_nomigrate().

Referenced by TokenPool::_alloc(), _checkpointAckHandler(), _checkpointBarrierHandler(), _getCheckpointHandler(), _messageLoggingInit(), _recvCheckpointHandler(), _recvGlobalStepHandler(), _recvRestartCheckpointHandler(), _sendDetsHandler(), _sendDetsReplyHandler(), _startCheckpointHandler(), _updateHomeAckHandler(), addBufferedDeterminant(), ElementDistributor::addLocation(), allocateInterimNodeAckObj(), bdcastROGroupData(), bufalloc(), callHandlerRec(), CcsImpl_ccs2converse(), CcsImpl_reply(), CcsMerge_concat(), CcsReply(), CfutureCreateBuffer(), CkArray::CkArray(), CkCopyMsg(), CProxy_ArrayBase::ckInsertIdx(), CkRdmaIssueRgets(), CkRdmaPrepareBcastMsg(), CkStartMlogCheckpoint(), CldGraphModuleInit(), CldModuleGeneralInit(), CldOtherInit(), CldPutToken(), CldPutTokenPrio(), CmiCheckAffinity(), CmiCopyMsg(), CmiCreateCompressPersistent(), CmiCreateCompressPersistentSize(), CmiCreatePersistent(), CmiDestroyPersistent(), CmiEstablishGroup(), CmiGetDynamicReductionRemote(), CmiGetNonLocalNodeQ(), CmiInitCPUAffinity(), CmiInvokeBcastAckHandler(), CmiInvokeBcastPostAckHandler(), CmiInvokeRemoteAckHandler(), CmiIOInit(), CmiIssueRget(), CmiIssueRput(), CmiSendMessageCma(), CmiSendMessagePxshm(), CmiSendMessageXpmem(), CmiSendReduce(), CmiStartQD(), BGConverse::CmiSyncBroadcast(), BGConverse::CmiSyncBroadcastAll(), CmiSyncMulticastFn(), BGConverse::CmiSyncSend(), CmmNew(), CmmPut(), combineMessage(), CompressPersistentMsg(), copyEnvelope(), CPathCreateRedmsg(), CPathSend(), CpdGetNextMessageConditional(), cpuTopoHandler(), CqsCreate(), CqsDeqExpand(), CqsEnumerateDeq(), CqsEnumeratePrioq(), CqsEnumerateQueue(), CqsPrioqExpand(), CqsPrioqGetDeq(), CqsPrioqInit(), CqsPrioqRehash(), CWeb_Collect(), CWebHandler(), StatTable::doReduction(), emptyReduction(), finishedCheckpointLoadBalancing(), CkMessageDetailReplay::getNext(), getPool(), handleOneCmaMdMsg(), heartBeatCheckHandler(), heartBeatPartner(), CkMemCheckPT::isMaster(), LrtsInitCpuTopo(), ntohl(), persistentRequestHandler(), prepare_slotmsg(), print_node0(), PumpMsgs(), PumpMsgsBlocking(), Event::pup(), CkNcpyBuffer::rdmaGet(), CkNcpyBuffer::rdmaPut(), readonlyAllocateOnSource(), readonlyGet(), CkMulticastMgr::recvPacket(), recvViaCtrlMsg(), sendBackImmigrantRecObjs(), sendCheckpointData(), SendMsgBuf(), sendRemoveLogRequests(), and startMlogCheckpoint().

Here is the call graph for this function:

void* CmiRdmaAlloc ( int  size  ) 

Definition at line 3076 of file convcore.C.

References CmiInitMsgHeader(), infi_CmiAlloc(), LrtsAlloc(), LrtsRdmaAlloc(), and malloc_nomigrate().

Here is the call graph for this function:

static void* CmiAllocFindEnclosing ( void *  blk  )  [static]

Follow the header links out to the most enclosing block.

Definition at line 3101 of file convcore.C.

Referenced by CmiFree(), CmiGetReference(), CmiRdmaFree(), and CmiReference().

Here is the caller graph for this function:

void CmiInitMsgHeader ( void *  msg,
int  size 
)

int CmiGetReference ( void *  blk  ) 

Definition at line 3118 of file convcore.C.

References CmiAllocFindEnclosing().

Referenced by CmiFreeBroadcastAllFn(), and forwardProcBcastMsg().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiReference ( void *  blk  ) 

Increment the reference count for this block's owner.

This call must be matched by an equivalent CmiFree.

Definition at line 3125 of file convcore.C.

References CmiAllocFindEnclosing().

Referenced by CmiMultiMsgHandler(), CmiSyncListSendFn(), CompressPersistentMsg(), CpdBeforeEp(), CpdPythonGroup::cpdCheck(), CpdDeliverMessageInt(), CpdDeliverSingleMessage(), SDAG::MsgClosure::MsgClosure(), SDAG::MsgClosure::pup(), SendHyperCube(), and SendSpanningChildren().

Here is the call graph for this function:

Here is the caller graph for this function:

int CmiSize ( void *  blk  ) 

Return the size of the user portion of this block.

Definition at line 3131 of file convcore.C.

Referenced by CpdListHeader_ccs_list_items(), and getImageHandler().

Here is the caller graph for this function:

void CmiFree ( void *  blk  ) 

Decrement the reference count for this block.

Definition at line 3137 of file convcore.C.

References arena_free(), CmiAbort(), CmiAllocFindEnclosing(), CmiFree_bgq(), CmiFree_ppcq(), CmiPoolFree(), CmiPrintf(), free_nomigrate(), infi_CmiFree(), infi_freeMultipleSend(), LrtsFree(), and MPI_Free_mem.

Referenced by _checkpointAckHandler(), _checkpointBarrierAckHandler(), _checkpointBarrierHandler(), _CldEnqueue(), _CldEnqueueGroup(), _CldEnqueueMulti(), _CldNodeEnqueue(), _discardHandler(), _dummyMigrationHandler(), _endCheckpointHandler(), _exitHandler(), TokenPool::_free(), _getCheckpointHandler(), _libExitHandler(), _noCldEnqueue(), _noCldEnqueueMulti(), _noCldNodeEnqueue(), _pingHandler(), _processDeleteVidMsg(), _processFillVidMsg(), _processRODataMsg(), _qdCommHandler(), _receivedDetDataHandler(), _receivedTNDataHandler(), _receiveLocationHandler(), _recvCheckpointHandler(), _recvGlobalStepHandler(), _recvRestartCheckpointHandler(), _removeDeterminantsHandler(), _removeProcessedLogHandler(), _resendMessagesHandler(), _roRdmaDoneHandler(), _sendDetsHandler(), _sendReadonlies(), _sendTriggers(), _skipCldEnqueue(), _speedHdlr(), _startCheckpointHandler(), _storeCheckpointHandler(), _storeDeterminantsHandler(), _ticketRequestHandler(), _triggerHandler(), _updateHomeAckHandler(), addBufferedDeterminant(), bufalloc(), ccs_getinfo(), ccs_killport(), CcsMerge_concat(), CfutureDestroy(), CfutureDestroyBuffer(), CkFreeMsg(), ckinsertIdxFunc(), CkRdmaEMAckHandler(), CkRdmaEMBcastAckHandler(), CkRdmaEMBcastPostAckHandler(), CkResumeRestartMain(), CldAskLoadHandler(), CldAverageHandler(), CldEnqueueGroup(), CldEnqueueMulti(), CldLoadResponseHandler(), CldMultipleSend(), CldMultipleSendPrio(), CldReduceHandler(), CldTokenHandler(), clearUpMigratedRetainedLists(), CmiCheckAffinity(), CmiFreeBroadcastAllFn(), CmiFreeBroadcastFn(), CmiFreeListSendFn(), CmiFreeMulticastFn(), CmiFreeNodeBroadcastFn(), CmiIssueRget(), CmiMulticastDeliver(), CmiMultiMsgHandler(), CmiSendMessagePxshm(), CmiSendMessageXpmem(), CmiSendReduce(), CmiSyncBroadcastAllFn(), CmiSyncBroadcastFn(), CmiSyncVectorSendAndFree(), CmmFind(), CmmFree(), CmmFreeAll(), CmmPup(), CompressPersistentMsg(), CPathForwardReduction(), CPathMsgFree(), cpd_memory_single_pup(), CpdAfterEp(), CpdGetNextMessageConditional(), CpdList_ccs_list_items_fmt(), CpdList_ccs_list_items_set(), CpdList_ccs_list_items_txt(), CpdList_ccs_list_len(), CpdMachineArchitecture(), cpuAffinityHandler(), cpuAffinityRecvHandler(), cpuPhyNodeAffinityRecvHandler(), cpuTopoHandler(), cpuTopoRecvHandler(), CQdHandlePhase0(), CQdHandlePhase1(), CQdHandlePhase2(), CqsDelete(), CqsDeqExpand(), CqsPrioqDequeue(), CqsPrioqExpand(), CqsPrioqRehash(), CWeb_Deliver(), CWeb_Reduce(), forwardProcBcastMsg(), free_remote(), getImageConfigHandler(), getImageHandler(), grab_remote(), handleBcastReverseEntryMethodApiCompletion(), handleDirectApiCompletion(), handleOneCmaAckMsg(), handleReverseEntryMethodApiCompletion(), heartBeatHandler(), CkMemCheckPT::isMaster(), LV3D0_flush(), LV3D0_getViews(), LV3D0_qd(), LV3D0_quit(), LV3D0_setup(), LV3D0_startbalance(), LV3D0_stats(), LV3D0_throttle0(), LV3D0_throttle1(), LV3D0_trace(), LV3D0_zero(), mergeStats(), NetFEM_getCurrent(), ntohl(), persistentDestroyHandler(), persistentReqGrantedHandler(), persistentRequestHandler(), preProcessReceivedMessage(), processBcastRecvEmApiCompletion(), PumpMsgs(), readonlyGetCompleted(), ReleasePostedMessages(), rep_fw_handler(), req_fw_handler(), sendCheckpointData(), SendMsgBuf(), sendRemoveLogRequests(), CkMulticastMgr::sendToSection(), StatTableReduction(), FuncCkLoop::~FuncCkLoop(), MlogEntry::~MlogEntry(), and SDAG::MsgClosure::~MsgClosure().

Here is the call graph for this function:

void CmiRdmaFree ( void *  blk  ) 

Definition at line 3183 of file convcore.C.

References CmiAbort(), CmiAllocFindEnclosing(), CmiPrintf(), free_nomigrate(), infi_CmiFree(), LrtsFree(), and LrtsRdmaFree().

Here is the call graph for this function:

CpvDeclare ( CmiTmpBuf_t  ,
CmiTmpBuf   
)

static void CmiTmpSetup ( CmiTmpBuf_t b  )  [static]

Definition at line 3232 of file convcore.C.

References CmiTmpBuf_t::buf, CmiTmpBuf_t::cur, malloc(), and CmiTmpBuf_t::max.

Referenced by CmiTmpAlloc(), and CmiTmpInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void* CmiTmpAlloc ( int  size  ) 

Definition at line 3238 of file convcore.C.

Referenced by _CmiMultipleSend(), PUP::fromTextFile::comment(), and skt_sendV().

Here is the caller graph for this function:

void CmiTmpFree ( void *  t  ) 

Definition at line 3256 of file convcore.C.

Referenced by _CmiMultipleSend(), PUP::fromTextFile::comment(), and skt_sendV().

Here is the caller graph for this function:

void CmiTmpInit ( char **  argv  ) 

Definition at line 3272 of file convcore.C.

References CmiTmpSetup().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiMkdir ( const char *  dirName  ) 

Definition at line 3287 of file convcore.C.

Referenced by CkCheckpointMgr::Checkpoint(), LogPool::createFile(), LogPool::createSts(), StringPool::dump(), initBigSimTrace(), and NetFEM_End().

Here is the caller graph for this function:

int CmiGetPageSize ( void   ) 

static int roundUpSize ( unsigned int  s  )  [static]

Definition at line 3342 of file convcore.C.

Referenced by _CmiMultipleSend(), and paddingSize().

Here is the caller graph for this function:

static int paddingSize ( unsigned int  s  )  [static]

Definition at line 3348 of file convcore.C.

References roundUpSize().

Referenced by _CmiMultipleSend().

Here is the call graph for this function:

Here is the caller graph for this function:

static void _CmiMultipleSend ( unsigned int  destPE,
int  len,
int  sizes[],
char *  msgComps[],
int  immed 
) [static]

Definition at line 3385 of file convcore.C.

References CmiInitMsgHeader(), CmiSyncVectorSend(), CmiTmpAlloc(), CmiTmpFree(), CmiMultipleSendHeader::convHeader, PUP::m, CmiMultipleSendHeader::nMessages, CmiMultipleSendHeader::pad, paddingSize(), roundUpSize(), and CmiChunkHeader::size.

Referenced by CmiMultipleIsend(), and CmiMultipleSend().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiMultipleSend ( unsigned int  destPE,
int  len,
int  sizes[],
char *  msgComps[] 
)

Definition at line 3464 of file convcore.C.

References _CmiMultipleSend().

Referenced by CldMultipleSend(), and CldMultipleSendPrio().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiMultipleIsend ( unsigned int  destPE,
int  len,
int  sizes[],
char *  msgComps[] 
)

Definition at line 3469 of file convcore.C.

References _CmiMultipleSend().

Referenced by CldMultipleSend(), and CldMultipleSendPrio().

Here is the call graph for this function:

Here is the caller graph for this function:

static void CmiMultiMsgHandler ( char *  msgWhole  )  [static]

Definition at line 3498 of file convcore.C.

References CmiFree(), CmiMyPe(), CmiReference(), CmiSyncSendAndFree(), len, PUP::m, msg, offset, registerMultiSendMesg(), and CmiChunkHeader::size.

Referenced by CmiInitMultipleSend().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiInitMultipleSend ( void   ) 

Definition at line 3485 of file convcore.C.

References CmiMultiMsgHandler(), and CmiRegisterHandler().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

int HypercubeGetBcastDestinations ( int  mype,
int  total_pes,
int  k,
int dest_pes 
)

Definition at line 3534 of file convcore.C.

References PUP::u.

CpvDeclare ( int  ,
CmiImmediateMsgHandlerIdx   
)

static void CmiImmediateMsgHandler ( char *  msg  )  [static]

Definition at line 3570 of file convcore.C.

References CmiHandleMessage().

Referenced by CmiInitImmediateMsg().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiInitImmediateMsg ( void   ) 

Definition at line 3576 of file convcore.C.

References CmiImmediateMsgHandler(), and CmiRegisterHandler().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

static void on_timeout ( cmi_cpu_idlerec rec,
double  curWallTime 
) [static]

Definition at line 3599 of file convcore.C.

References cmi_cpu_idlerec::call_count, CmiAbort(), CmiError(), CmiMyPe(), and cmi_cpu_idlerec::is_idle.

Referenced by on_idle().

Here is the call graph for this function:

Here is the caller graph for this function:

static void on_idle ( cmi_cpu_idlerec rec,
double  curWallTime 
) [static]

Definition at line 3607 of file convcore.C.

References cmi_cpu_idlerec::call_count, CcdCallFnAfter(), cmi_cpu_idlerec::idle_timeout, cmi_cpu_idlerec::is_idle, and on_timeout().

Referenced by CIdleTimeoutInit().

Here is the call graph for this function:

Here is the caller graph for this function:

static void on_busy ( cmi_cpu_idlerec rec,
double  curWallTime 
) [static]

Definition at line 3613 of file convcore.C.

References cmi_cpu_idlerec::is_idle.

Referenced by CIdleTimeoutInit().

Here is the caller graph for this function:

static void CIdleTimeoutInit ( char **  argv  )  [static]

Definition at line 3617 of file convcore.C.

References cmi_cpu_idlerec::call_count, CcdCallOnCondition(), CmiGetArgIntDesc(), cmi_cpu_idlerec::idle_timeout, cmi_cpu_idlerec::is_idle, malloc(), on_busy(), and on_idle().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CrnInit ( void   ) 

Definition at line 58 of file random.C.

References CrnInitStream().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiIsomallocInit ( char **  argv  ) 

Definition at line 2187 of file isomalloc.C.

References _mmap_probe, _restart, _sync_iso, CmiGetArgFlagDesc(), CmiMyPe(), CmiPrintf(), disable_isomalloc(), init_comm(), init_map(), init_ranges(), and read_randomflag().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiIOInit ( char **  argv  ) 

Definition at line 3964 of file convcore.C.

References CmiAbort(), CmiAlloc(), CmiGetArgFlagDesc(), and CmiGetArgIntDesc().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiInitCPUAffinityUtil ( void   ) 

Definition at line 1089 of file cpuaffinity.C.

References _smp_mutex, CmiLock(), CmiUnlock(), and xi::fname.

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

static void CmiProcessPriority ( char **  argv  )  [static]

Definition at line 3647 of file convcore.C.

References CmiAbort(), CmiGetArgIntDesc(), CmiMyPe(), CmiMyRank(), CmiPrintf(), and status.

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CommunicationServerInit ( void   ) 

Definition at line 3713 of file convcore.C.

References CQdCpvInit().

Referenced by call_startfn().

Here is the call graph for this function:

Here is the caller graph for this function:

static int testEndian ( void   )  [static]

Definition at line 3724 of file convcore.C.

References c.

Referenced by CmiEndianness().

Here is the caller graph for this function:

int CmiEndianness ( void   ) 

Definition at line 3737 of file convcore.C.

References testEndian().

Here is the call graph for this function:

static void checkTSanOptions ( void   )  [static]

Definition at line 3748 of file convcore.C.

References CmiAbort().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void ConverseCommonInit ( char **  argv  ) 

Main Converse initialization routine.

This routine is called by the machine file (machine.C) to set up Converse. It's "Common" because it's shared by all the machine.C files.

The main task of this routine is to set up all the Cpv's (message queues, handler tables, etc.) used during main execution.

On SMP versions, this initialization routine is called by all* processors of a node simultaniously. It's *also* called by the communication thread, which is rather strange but needed for immediate messages. Each call to this routine expects a different copy of the argv arguments, so use CmiCopyArgs(argv).

Requires:

  • A working network layer.
  • Working Cpv's and CmiNodeBarrier.
  • CthInit to already have been called. CthInit is called from the machine layer directly, because some machine layers (like uth) use Converse threads internally.

Initialization is somewhat subtle, in that various modules won't work properly until they're initialized. For example, nobody can register handlers before calling CmiHandlerInit.

Definition at line 3798 of file convcore.C.

References _Cmi_forceSpinOnIdle, _Cmi_sleepOnIdle, CcdModuleInit(), CcsInit(), checkTSanOptions(), CIdleTimeoutInit(), CldModuleInit(), CmiAbort(), CmiArgInit(), CmiCommitID, CmiDeliversInit(), CmiGetArgFlagDesc(), CmiGroupInit(), CmiHandlerInit(), CmiInitCell(), CmiInitCPUAffinityUtil(), CmiInitImmediateMsg(), CmiInitMultipleSend(), CmiIOInit(), CmiIsomallocInit(), CmiMemoryInit(), CmiMulticastInit(), CmiMyPe(), CmiMyRank(), CmiOnesidedDirectInit(), CmiPersistentInit(), CmiPoolAllocInit(), CmiPrintf(), CmiProcessPriority(), CmiReductionsInit(), CmiTimerInit(), CmiTmpInit(), CpdInit(), CQdInit(), CrnInit(), CsdInit(), CstatsInit(), CthSchedInit(), initQd(), and traceInit().

Referenced by ConverseRunPE().

Here is the call graph for this function:

Here is the caller graph for this function:

void ConverseCommonExit ( void   ) 

Definition at line 3898 of file convcore.C.

References CcsImpl_kill(), CmiMyRank(), CmiNodeBarrier(), EmergencyExit(), exitHybridAPI(), seedBalancerExit(), and traceClose().

Referenced by CommunicationServer(), and ConverseExit().

Here is the call graph for this function:

Here is the caller graph for this function:

void register_accel_spe_funcs ( void   ) 

Referenced by CmiInitCell().

Here is the caller graph for this function:

void CmiInitCell ( void   ) 

Definition at line 3933 of file convcore.C.

References CcdCallOnConditionKeep(), CmiMyPe(), and register_accel_spe_funcs().

Referenced by ConverseCommonInit().

Here is the call graph for this function:

Here is the caller graph for this function:

void CmiPrintf ( const char *  format,
  ... 
)

Definition at line 4009 of file convcore.C.

Referenced by _checkpointBarrierAckHandler(), _dummyMigrationHandler(), _getCheckpointHandler(), _getGlobalStepHandler(), _getRestartCheckpointHandler(), _initCharm(), _loadbalancerInit(), _parseCommandLineOpts(), _propMapInit(), _receiveLocationHandler(), _recvGlobalStepHandler(), _updateHomeRequestHandler(), _verifyAckHandler(), _verifyAckRequestHandler(), LBDatabase::addLoadbalancer(), TraceCounter::beginExecute(), TraceCounter::beginOverview(), TraceBluegene::bgPrint(), CkArray::broadcastHomeElements(), CkMemCheckPT::BuddyPE(), HybridBaseLB::buildStats(), CcsBufferMessage(), CcsHandleRequest(), CcsImpl_netRequest(), CcsInit(), CfutureDestroy(), CfutureWait(), LBDB::ChangePredictor(), check_and_set_queue_parameters(), ck_get_GNI_BIConfig(), ck_set_GNI_BIConfig(), CkCppInterpreter::CkCppInterpreter(), CkDieNow(), CkGetSectionInfo(), CkMessageWatcherInit(), CkRestartMain(), CkResumeRestartMain(), CldAskLoadHandler(), CldAverageHandler(), CldComputeNeighborData(), CldEnqueue(), CldGraphModuleInit(), CldModuleGeneralInit(), CldOtherInit(), CldPropagateLoad(), CldReadytoExec(), CldStillIdle(), CldStoreCharemsg(), CmiAddCLA(), CmiAlloc(), CmiArgGroup(), CmiBacktracePrint(), CmiCheckAffinity(), CmiDeprecateArgInt(), CmiDisplayCMAThresholds(), CmiExitPxshm(), CmiExitXpmem(), CmiFree(), CmiInitCPUAffinity(), CmiInitMemAffinity(), CmiInitXpmem(), CmiIsomallocBlockListPup(), CmiIsomallocInit(), CmiMemorySweep(), CmiPoolAllocStats(), CmiPoolPrintList(), CmiPrintCLAs(), CmiPrintCPUAffinity(), CmiProcessPriority(), CmiRdmaFree(), CmiSendMessagePxshm(), CmiSendMessageXpmem(), CmiSetMemAffinity(), CmiTLSInit(), CombineSummary(), pupCheckRec::compare(), CompressPersistentMsg(), CkMulticastMgr::contribute(), ConverseCommonInit(), ConverseExit(), cpd_memory_single_pup(), CpdConditional_SetupComm(), CpdList_ccs_list_items_set(), CpdList_ccs_list_items_txt(), CpdNotify(), CpdStartGdb(), CkMemCheckPT::cpFinish(), Cpthread_once(), cpuAffinityRecvHandler(), CqsRemoveSpecific(), RefinerApprox::create(), createLoadBalancer(), LogPool::createSts(), CsdInit(), CtgInit(), CthPrintThdMagic(), CthPrintThdStack(), disable_isomalloc(), LBDBRegistry::displayLBs(), CkThresholdTimer::done_(), LBDB::DumpDatabase(), CkLocMgr::emigrate(), TraceCounter::endExecute(), TraceCounter::endOverview(), endTraceBigSim_20param(), errspan(), expand_ccd_heap(), fake_malloc(), CentralLB::findSimResults(), g_printGraph(), gengraph(), get_clock(), ImageData::GetClippedImage(), CkCheckPTEntry::getCopy(), CkMemCheckPTInfo::getCopy(), getImageConfigHandler(), getImageHandler(), getNUMANidByRank(), LBCommTable::HashInsert(), heartBeatCheckHandler(), HigherPriorityWork(), informLocationHome(), init_ranges(), initBigSimTrace(), initQd(), CkMemCheckPT::isMaster(), KLevelTree::KLevelTree(), LBDBInit::LBDBInit(), LBTOPO_MACRO(), liveViz0Deposit(), liveViz0Init(), liveViz0PollInit(), CentralLB::LoadBalance(), TraceCore::LogEvent(), LrtsInitCpuTopo(), LV3D0_setup(), OrbLB::mapPartitionsToNodes(), memAbort(), memory_check(), meta_aligned_alloc(), meta_calloc(), meta_cfree(), meta_free(), meta_init(), meta_malloc(), meta_memalign(), meta_posix_memalign(), meta_pvalloc(), meta_realloc(), meta_valloc(), LBDB::Migrate(), RefinerTemp::multirefine(), Refiner::multirefine(), NborBaseLB::NborBaseLB(), ChareMlogData::next_ticket(), ntohl(), ck::ObjID::ObjID(), TraceLogger::openLogFiles(), GridMetisLB::Partition_ClusterObjects_Into_PEs(), persistentDecompressHandler(), POSEreadCmdLine(), LBTopoVec::print(), CpuTopology::print(), LBInfo::print(), mCastEntry::print(), print_btree_node(), print_btree_top_down(), print_cpu_affinity(), print_list_array(), print_mem_affinity(), print_myslots(), print_thread_affinity(), LBSimulation::PrintDifferences(), TraceCounter::printHelp(), RefinerComm::printLoad(), RecBisectBfLB::printPartitions(), printSlot(), printTopology(), CentralLB::ProcessReceiveMigration(), TCharm::procInit(), PumpMsgs(), PumpMsgsBlocking(), CkLocMgr::pup(), ChareMlogData::pup(), PUPbytes(), OrbLB::quicksort(), readBlacklist(), CentralLB::readStatsMsgs(), OrbLB::rec_divide(), CkMulticastMgr::recvRedMsg(), RefinerComm::Refine(), RefinerComm::refine(), TraceCounter::registerArg(), TraceLogger::RegisterLanguage(), CentralLB::removeNonMigratable(), ReportWarnings(), ChareMlogData::searchRestoredLocalQ(), seedBalancerExit(), sendMlogLocation(), SendMsgBuf(), SendTasktoPe(), CkMulticastMgr::sendToSection(), set_process_affinity(), set_thread_affinity(), OrbLB::setVal(), showBanner(), CentralLB::simulationRead(), CentralLB::simulationWrite(), slotAbort(), staticStartLB(), StatTableReduction(), status(), NeighborCommLB::Strategy(), TCHARM_Api_trace(), TopologyAgent::TopologyAgent(), TraceCounter::traceBegin(), TraceCounter::traceClose(), traceCommonInit(), TraceCounter::traceEnd(), TraceCounter::traceInit(), TraceMemory::TraceMemory(), TraceProjectionsBOC::traceProjectionsParallelShutdown(), TraceSummary::TraceSummary(), LBDB::TurnPredictorOff(), LBDB::TurnPredictorOn(), TraceCounter::usage(), TraceLogger::verifyFptrs(), TopoLB::work(), TopoCentLB::work(), RefineTopoLB::work(), RecBisectBfLB::work(), OrbLB::work(), LogPool::writeStatis(), CentralLB::writeStatsMsgs(), CountLogPool::writeSts(), WSLB::WSLB(), zlib_compress(), and zlib_decompress().

void CmiError ( const char *  format,
  ... 
)

void __cmi_assert ( const char *  errmsg  ) 

Definition at line 4054 of file convcore.C.

char* CmiCopyMsg ( char *  msg,
int  len 
)

Definition at line 4060 of file convcore.C.

References CmiAlloc(), and copy().

Here is the call graph for this function:

unsigned char computeCheckSum ( unsigned char *  data,
int  len 
)

Definition at line 4068 of file convcore.C.

unsigned int CmiILog2 ( unsigned int  val  ) 

Definition at line 4081 of file convcore.C.

References PUP::u.

double CmiLog2 ( double  x  ) 

Definition at line 4088 of file convcore.C.

Referenced by built_pivot_tree(), fast_grouping(), and DistributedLB::Strategy().

Here is the caller graph for this function:

int CmiMyRank_ ( void   ) 

Definition at line 4094 of file convcore.C.

References CmiMyRank().

Here is the call graph for this function:

double CmiReadSize ( const char *  str  ) 

Definition at line 4099 of file convcore.C.

Referenced by CmiInitPxshm(), CmiInitXpmem(), and CthBaseInit().

Here is the caller graph for this function:

void CmiSetPeHelpsOtherThreads ( int  input  ) 

Definition at line 4122 of file convcore.C.


Variable Documentation

const char* const CmiCommitID

int CsdLocalMax = CSD_LOCAL_MAX_DEFAULT [static]

Definition at line 165 of file convcore.C.

Referenced by CsdInit(), and CsdNextMessage().

void(* notify_crash_fn)(int) = NULL

Referenced by CkMemCheckPT::isMaster().

pthread_mutex_t prefetchLock

Definition at line 221 of file convcore.C.

Definition at line 274 of file convcore.C.

Referenced by bind_process_and_threads(), and bind_process_only().

Definition at line 282 of file convcore.C.

Referenced by check_and_set_queue_parameters(), and ConverseInit().

Definition at line 283 of file convcore.C.

Referenced by check_and_set_queue_parameters(), and ConverseInit().

Definition at line 284 of file convcore.C.

Referenced by check_and_set_queue_parameters().

Definition at line 285 of file convcore.C.

Referenced by check_and_set_queue_parameters().

Definition at line 286 of file convcore.C.

Referenced by check_and_set_queue_parameters().

Definition at line 287 of file convcore.C.

Referenced by _sendWarnings().

int usageChecked = 0 [static]

Definition at line 296 of file convcore.C.

Referenced by CmiAddCLA(), and CmiArgInit().

int printUsage = 0 [static]

Definition at line 297 of file convcore.C.

Referenced by CmiAddCLA(), CmiArgGivingUsage(), and CmiArgInit().

const char* CLAformatString = "%20s %10s %s\n" [static]

Definition at line 298 of file convcore.C.

Referenced by CmiAddCLA(), and CmiPrintCLAs().

int CLAlistLen = 0 [static]

Definition at line 309 of file convcore.C.

Referenced by CmiAddCLA(), CmiArgInit(), and CmiPrintCLAs().

int CLAlistMax = 0 [static]

Definition at line 310 of file convcore.C.

Referenced by CmiAddCLA(), and CmiArgInit().

CLA* CLAlist = NULL [static]

Definition at line 311 of file convcore.C.

int _absoluteTime = 0 [static]

Definition at line 923 of file convcore.C.

Referenced by SendMsgBuf().

static timebasestruct_t inittime_wallclock [static]

Definition at line 1004 of file convcore.C.

Referenced by CmiInitTime(), CmiTimerInit(), and CmiWallTimer().

double lastT = -1.0 [static]

Definition at line 1076 of file convcore.C.

Definition at line 1118 of file convcore.C.

static double clocktick [static]

Definition at line 1377 of file convcore.C.

Referenced by CmiCpuTimer(), CmiTimerInit(), and CmiWallTimer().

Definition at line 3564 of file convcore.C.

Definition at line 3565 of file convcore.C.

Definition at line 3764 of file convcore.C.

Referenced by CmiGetNonLocal().

Definition at line 3768 of file convcore.C.

Definition at line 3770 of file convcore.C.

Definition at line 4078 of file convcore.C.

Referenced by AMPI_API_IMPL().


Generated on Mon Sep 21 08:14:51 2020 for Charm++ by  doxygen 1.5.5