Charm++ Trace Module


Data Structures

class  TraceBluegene
class  StatTable
 track statistics for all entry points More...
class  CountLogPool
 counter log pool this implements functions for TraceCounter but that needed to be performed on a node-level More...
class  TraceCounter
 For each processor, TraceCounter calculates mean, stdev, etc of CPU performance counters for each entry point. More...
class  UsrEvent
struct  TraceThreadListener
class  LogEntry
 a log entry in trace projection More...
class  LogPool
 log pool in trace projection More...
class  StrKey
class  NestedEvent
class  TraceProjections
 class for recording trace projections events More...
class  toProjectionsFile
class  fromProjectionsFile
class  toProjectionsGZFile
class  TraceRecordReplay
 class for recording trace record replay More...
class  compressedBuffer
 A class that reads/writes a buffer out of different types of data. More...
class  BinEntry
 Bin entry record CPU time in an interval. More...
class  PhaseEntry
 a phase entry for trace summary More...
class  PhaseTable
 table of PhaseEntry More...
class  SumEntryInfo
 info for each entry More...
class  SumLogPool
 summary log pool More...
class  TraceSummary
 class for recording trace summary events More...
class  TraceUtilizationInit
 A main chare that can create the BOC/group. More...
class  TraceUtilization
class  TraceUtilizationBOC
class  Trace
class  TraceArray
 Array of Traces modules, every event raised will go through every Trace module. More...

Typedefs

typedef void(* mTFP )()
typedef CkVec< char * > usrEventVec
typedef long_long LONG_LONG_PAPI

Functions

void _createTracebluegene (char **argv)
static void writeData (void *data, double t, double recvT, void *ptr)
 CpvExtern (BGMach, bgMach)
void BgPrintf (const char *str)
void BgMark (char *str)
void BgSetStartEvent ()
 CkpvExtern (TraceBluegene *, _tracebg)
 CpvCExtern (int, _traceCoreOn)
 CkpvDeclare (TraceArray *, _traces)
 CkpvDeclare (TraceBluegene *, _tracebg)
 CkpvDeclare (double, traceInitTime)
 CkpvDeclare (double, traceInitCpuTime)
 CpvDeclare (int, traceOn)
 CkpvDeclare (int, traceOnPe)
 CkpvDeclare (char *, traceRoot)
 CkpvDeclare (int, traceRootBaseLength)
 CkpvDeclare (char *, selective)
 CkpvDeclare (bool, verbose)
 CpvStaticDeclare (mTFP, machineTraceFuncPtr)
static void traceCommonInit (char **argv)
 decide parameters from command line
 CkpvExtern (int, CtrLogBufSize)
 CkpvExtern (char *, traceRoot)
 CkpvExtern (int, traceRootBaseLength)
 CkpvExtern (char *, selective)
 CkpvExtern (bool, verbose)
 CkpvExtern (double, traceInitTime)
 CkpvExtern (double, traceInitCpuTime)
double TraceTimer ()
double TraceTimer (double t)
double TraceCpuTimer ()
double TraceCpuTimer (double t)
void traceWriteSTS (FILE *stsfp, int nUserEvents)
 Write out the common parts of the .sts file.
void(*)() registerMachineUserEvents ()
int start_counters (int e0, int e1)
int read_counters (int e0, long long *c0, int e1, long long *c1)
 CkpvStaticDeclare (Trace *, _trace)
 CpvStaticDeclare (CountLogPool *, _logPool)
 CpvStaticDeclare (char *, _logName)
 CpvStaticDeclare (char **, _counterNames)
 CpvStaticDeclare (char **, _counterDesc)
 CpvStaticDeclare (int, _numCounters)
 CpvStaticDeclare (int, _reductionID)
 CpvDeclare (double, version)
CmiHandler StatTableReduction (char *msg)
void _createTracecounter (char **argv)
 CkpvStaticDeclare (TraceProjections *, _trace)
 CtvStaticDeclare (int, curThreadEvent)
 CkpvDeclare (bool, useOutlierAnalysis)
 CkpvDeclare (int, CtrLogBufSize)
 CkpvStaticDeclare (usrEventVec, usrEventlist)
 UsrEvent::UsrEvent (int _e, char *_s)
 CkpvStaticDeclare (CkVec< UsrEvent * > *, usrEvents)
void disableTraceLogOutput ()
 Disable the outputting of the trace logs.
void enableTraceLogOutput ()
 Enable the outputting of the trace logs.
void flushTraceLog ()
 Force the log files to be flushed.
void _createTraceprojections (char **argv)
 For each TraceFoo module, _createTraceFoo() must be defined.
void traceThreadListener_suspend (struct CthThreadListener *l)
void traceThreadListener_resume (struct CthThreadListener *l)
void traceThreadListener_free (struct CthThreadListener *l)
static void updateProjLog (void *data, double t, double recvT, void *ptr)
void CombineProjections ()
void initTraceProjectionsBOC ()
 CkpvStaticDeclare (TraceRecordReplay *, _trace)
void _createTracerecordreplay (char **argv)
 For each TraceFoo module, _createTraceFoo() must be defined.
 CkpvStaticDeclare (TraceSummary *, _trace)
 CkpvDeclare (int, binCount)
 CkpvDeclare (double, binSize)
 CkpvDeclare (double, version)
 CkpvDeclare (int, previouslySentBins)
 compressedBuffer::compressedBuffer ()
 compressedBuffer::compressedBuffer (int bytes)
 compressedBuffer::compressedBuffer (void *buffer)
void compressedBuffer::init (void *buffer)
void * compressedBuffer::currentPtr ()
template<typename T>
T compressedBuffer::read (int offset)
template<typename T>
void compressedBuffer::write (T v, int offset)
template<typename T>
void compressedBuffer::increment (int offset)
template<typename T>
void compressedBuffer::accumulate (T v, int offset)
template<typename T>
int compressedBuffer::push (T v)
template<typename T>
T compressedBuffer::pop ()
template<typename T>
T compressedBuffer::peek ()
template<typename T0, typename T>
T compressedBuffer::peekSecond ()
int compressedBuffer::datalength ()
void * compressedBuffer::buffer ()
void compressedBuffer::freeBuf ()
 compressedBuffer::~compressedBuffer ()
void _createTracesummary (char **argv)
 For each TraceFoo module, _createTraceFoo() must be defined.
void CkSummary_StartPhase (int phase)
 function call for starting a phase in trace summary logs
void CkSummary_MarkEvent (int eventType)
 function call for adding an event mark
static void writeU (FILE *fp, int u)
void startCollectData (void *data, double currT)
void _CkExit ()
void CombineSummary ()
void initTraceSummaryBOC ()
void collectUtilizationData (void *ignore, double currT)
 CkpvStaticDeclare (TraceUtilization *, _trace)
void _createTraceutilization (char **argv)
 For each TraceFoo module, _createTraceFoo() must be defined.
compressedBuffer moveTinyEntriesToOther (compressedBuffer src, double threshold)
 Compress a buffer by merging all entries in a bin that are less than the threshold into a single "other" category.
CkReductionMsgsumDetailCompressedReduction (int nMsg, CkReductionMsg **msgs)
 A reducer for merging compressed sum detail data.
compressedBuffer fakeCompressedMessage ()
 Create fake sum detail data in the compressed format (for debugging).
compressedBuffer emptyCompressedBuffer ()
 Create an empty message.
void printCompressedBuf (compressedBuffer b)
 print out the compressed buffer starting from its begining
bool isCompressedBufferSane (compressedBuffer b)
double averageUtilizationInBuffer (compressedBuffer b)
void sanityCheckCompressedBuf (compressedBuffer b)
void mergeCompressedBin (compressedBuffer *srcBufferArray, int numSrcBuf, int *numProcsRepresentedInMessage, int totalProcsAcrossAllMessages, compressedBuffer &destBuf)
 Merge the compressed entries from the first bin in each of the srcBuf buffers.
compressedBuffer compressAvailableNewSumDetail (int max=10000)
void traceClearEps ()
void traceEnableCCS ()
double CmiTraceTimer ()
void traceAddThreadListeners (CthThread tid, envelope *e)
 CkpvExtern (int, traceOnPe)
 CkpvExtern (TraceArray *, _traces)
void resetVTime ()
void TraceBluegene::writePrint (char *, double t)
 TraceBluegene::TraceBluegene (char **argv)
void TraceBluegene::traceClose ()
 TraceBluegene::~TraceBluegene ()
void TraceBluegene::creatFiles ()
void TraceBluegene::tlineEnd (void **parentLogPtr)
void TraceBluegene::bgAddTag (const char *str)
void TraceBluegene::bgDummyBeginExec (const char *name, void **parentLogPtr, int split)
void TraceBluegene::bgBeginExec (char *msg, char *str)
void TraceBluegene::bgSetInfo (char *msg, const char *str, void **logs, int count)
void TraceBluegene::bgAmpiBeginExec (char *msg, char *str, void **logs, int count)
void TraceBluegene::bgAmpiSetSize (int size)
void TraceBluegene::bgEndExec (int)
virtual void TraceBluegene::beginExecute (envelope *)
virtual void TraceBluegene::beginExecute (int event, int msgType, int ep, int srcPe, int mlen, CmiObjId *idx)
void TraceBluegene::getForwardDep (void *log, void **fDepPtr)
void TraceBluegene::getForwardDepForAll (void **logs1, void **logs2, int logsize, void *fDepPtr)
void TraceBluegene::addBackwardDep (void *log)
void TraceBluegene::userBracketEvent (const char *name, double bt, double et, void **parentLogPtr)
void TraceBluegene::userBracketEvent (const char *name, double bt, double et, void **parentLogPtr, CkVec< void * > bgLogList)
void TraceBluegene::bgPrint (const char *str)
void TraceBluegene::bgMark (char *str)
 StatTable::StatTable ()
 StatTable::~StatTable ()
void StatTable::init (int argc)
void StatTable::setEp (int epidx, int stat, long long value, double time)
 one entry is called for 'time' seconds, value is counter reading
void StatTable::write (FILE *fp)
 write three lines for each stat: 1.
void StatTable::clear ()
 set all of internals to null
void StatTable::doReduction (int phase, double idleTime)
 do a reduction across processors to calculate the total count for each count, and if the count has flops, etc, then calc the the flops/s, etc.
 CountLogPool::CountLogPool ()
FILE * CountLogPool::openFile (int phase=-1)
void CountLogPool::write (int phase=-1)
void CountLogPool::writeSts (int phase=-1)
void CountLogPool::setEp (int epidx, int index1, long long count1, int index2, long long count2, double time)
 TraceCounter::TraceCounter ()
 constructor
 TraceCounter::~TraceCounter ()
 destructor
void TraceCounter::traceInit (char **argv)
 process command line arguments!
void TraceCounter::traceBegin ()
 turn trace on/off, note that charm will automatically call traceBegin() at the beginning of every run unless the command line option "+traceoff" is specified
void TraceCounter::traceEnd ()
 turn trace on/off, note that charm will automatically call traceBegin() at the beginning of every run unless the command line option "+traceoff" is specified
void TraceCounter::beginExecute (envelope *e)
 begin/end execution of a Charm++ entry point NOTE: begin/endPack and begin/endUnpack can be called in between a beginExecute and its corresponding endExecute.
void TraceCounter::beginExecute (int event, int msgType, int ep, int srcPe, int ml=0, CmiObjId *idx=0)
 begin/end execution of a Charm++ entry point NOTE: begin/endPack and begin/endUnpack can be called in between a beginExecute and its corresponding endExecute.
void TraceCounter::endExecute ()
 array idx
void TraceCounter::beginIdle (double curWallTime)
 begin/end idle time for this pe
void TraceCounter::endIdle (double curWallTime)
 begin/end idle time for this pe
void TraceCounter::beginPack ()
 begin/end the process of packing a message (to send)
void TraceCounter::endPack ()
 begin/end the process of packing a message (to send)
void TraceCounter::beginUnpack ()
 begin/end the process of unpacking a message (can occur before calling a entry point or during an entry point when
void TraceCounter::endUnpack ()
 begin/end the process of unpacking a message (can occur before calling a entry point or during an entry point when
void TraceCounter::beginComputation ()
 begin/end of execution
void TraceCounter::endComputation ()
 end computation, do a reduction here in hopes that it finishes before traceClose called and the program exits
void TraceCounter::traceClearEps ()
 clear all data collected for entry points
void TraceCounter::traceWriteSts ()
 write the summary sts file for this trace
void TraceCounter::traceClose ()
 do any clean-up necessary for tracing
void TraceCounter::beginOverview ()
 start/stop the overall counting ov eps (don't write to logCount, just print to screen
void TraceCounter::endOverview ()
void TraceCounter::switchCounters ()
 switch counters by whatever switching strategy
void TraceCounter::registerArg (CounterArg *arg)
 add the argument parameters to the linked list of args choices
bool TraceCounter::matchArg (CounterArg *arg)
 see if the arg (str or code) matches any in the linked list of choices and sets arg->code to the SGI code return true if arg matches, false otherwise
void TraceCounter::usage ()
 print out usage argument
void TraceCounter::printHelp ()
 print out all arguments in the linked-list of choices
virtual void TraceProjections::traceAddThreadListeners (CthThread tid, envelope *e)
void LogPool::openLog (const char *mode)
void LogPool::closeLog (void)
 LogPool::LogPool (char *pgm)
void LogPool::createFile (const char *fix="")
void LogPool::createSts (const char *fix="")
void LogPool::createRC ()
 LogPool::~LogPool ()
void LogPool::writeHeader ()
void LogPool::writeLog (void)
void LogPool::write (int writedelta)
void LogPool::writeSts (void)
void LogPool::writeSts (TraceProjections *traceProj)
void LogPool::writeRC (void)
void LogPool::flushLogBuffer ()
void LogPool::add (unsigned char type, unsigned short mIdx, unsigned short eIdx, double time, int event, int pe, int ml=0, CmiObjId *id=0, double recvT=0.0, double cpuT=0.0, int numPe=0)
void LogPool::add (unsigned char type, double time, unsigned short funcID, int lineNum, char *fileName)
void LogPool::addMemoryUsage (unsigned char type, double time, double memUsage)
void LogPool::addUserSupplied (int data)
 add a record for a user supplied piece of data
void LogPool::addUserSuppliedNote (char *note)
 add a record for a user supplied piece of data
void LogPool::addUserSuppliedBracketedNote (char *note, int eventID, double bt, double et)
void LogPool::addCreationMulticast (unsigned short mIdx, unsigned short eIdx, double time, int event, int pe, int ml=0, CmiObjId *id=0, double recvT=0., int numPe=0, int *pelist=NULL)
void LogPool::postProcessLog ()
void LogEntry::addPapi (int numPapiEvts, int *papi_ids, LONG_LONG_PAPI *papiVals)
 Constructor for a multicast log entry.
void LogEntry::pup (PUP::er &p)
 TraceProjections::TraceProjections (char **argv)
int TraceProjections::traceRegisterUserEvent (const char *, int)
void TraceProjections::traceClearEps ()
void TraceProjections::traceWriteSts ()
void TraceProjections::traceClose ()
void TraceProjections::closeTrace (void)
void TraceProjections::traceBegin ()
void TraceProjections::traceEnd ()
void TraceProjections::traceBeginOnCommThread ()
void TraceProjections::traceEndOnCommThread ()
void TraceProjections::userEvent (int e)
void TraceProjections::userBracketEvent (int e, double bt, double et)
void TraceProjections::userSuppliedData (int e)
void TraceProjections::userSuppliedNote (char *note)
void TraceProjections::userSuppliedBracketedNote (char *, int, double, double)
void TraceProjections::memoryUsage (double m)
void TraceProjections::creation (envelope *e, int epIdx, int num=1)
void TraceProjections::creationMulticast (envelope *e, int epIdx, int num=1, int *pelist=NULL)
void TraceProjections::creationDone (int num=1)
void TraceProjections::beginExecute (CmiObjId *tid)
void TraceProjections::beginExecute (envelope *e)
void TraceProjections::beginExecute (int event, int msgType, int ep, int srcPe, int ml, CmiObjId *idx=NULL)
void TraceProjections::beginExecuteLocal (int event, int msgType, int ep, int srcPe, int ml, CmiObjId *idx=NULL)
void TraceProjections::endExecute (void)
void TraceProjections::endExecuteLocal (void)
void TraceProjections::messageRecv (char *env, int pe)
void TraceProjections::beginIdle (double curWallTime)
void TraceProjections::endIdle (double curWallTime)
void TraceProjections::beginPack (void)
void TraceProjections::endPack (void)
void TraceProjections::beginUnpack (void)
void TraceProjections::endUnpack (void)
void TraceProjections::enqueue (envelope *e)
void TraceProjections::dequeue (envelope *e)
void TraceProjections::beginComputation (void)
void TraceProjections::endComputation (void)
int TraceProjections::idxRegistered (int idx)
void TraceProjections::regFunc (const char *name, int &idx, int idxSpecifiedByUser=0)
void TraceProjections::beginFunc (char *name, char *file, int line)
void TraceProjections::beginFunc (int idx, char *file, int line)
void TraceProjections::endFunc (char *name)
void TraceProjections::endFunc (int num)
void TraceProjectionsBOC::shutdownAnalysis (void)
void TraceProjectionsBOC::startOutlierAnalysis ()
void TraceProjectionsBOC::outlierAverageReduction (CkReductionMsg *)
void TraceProjectionsBOC::calculateWeights (OutlierStatsMessage *)
void TraceProjectionsBOC::determineOutliers (OutlierWeightMessage *)
void TraceProjectionsBOC::setOutliers (OutlierThresholdMessage *)
void TraceProjectionsBOC::startEndTimeAnalysis ()
void TraceProjectionsBOC::endTimeReduction (CkReductionMsg *)
void TraceProjectionsBOC::finalReduction (CkReductionMsg *)
void TraceProjectionsBOC::closeTrace (void)
 TraceRecordReplay::TraceRecordReplay (char **argv)
void TraceRecordReplay::beginExecute (envelope *e)
void TraceRecordReplay::creation (envelope *e, int epIdx, int num=1)
 PhaseEntry::PhaseEntry ()
 SumLogPool::~SumLogPool ()
void SumLogPool::addEventType (int eventType, double time)
 SumLogPool::SumLogPool (char *pgm)
void SumLogPool::initMem ()
int SumLogPool::getUtilization (int interval, int ep)
void SumLogPool::write (void)
void SumLogPool::writeSts (void)
void SumLogPool::add (double time, double idleTime, int pe)
void SumLogPool::setEp (int epidx, double time)
void SumLogPool::updateSummaryDetail (int epIdx, double startTime, double endTime)
void SumLogPool::shrink (void)
int BinEntry::getU ()
int BinEntry::getUIdle ()
void BinEntry::write (FILE *fp)
 TraceSummary::TraceSummary (char **argv)
void TraceSummary::traceClearEps ()
void TraceSummary::traceWriteSts ()
void TraceSummary::traceClose ()
void TraceSummary::beginExecute (CmiObjId *tid)
void TraceSummary::beginExecute (envelope *e)
void TraceSummary::beginExecute (int event, int msgType, int ep, int srcPe, int mlen=0, CmiObjId *idx=NULL)
void TraceSummary::endExecute (void)
void TraceSummary::beginIdle (double currT)
void TraceSummary::endIdle (double currT)
void TraceSummary::beginPack (void)
void TraceSummary::endPack (void)
void TraceSummary::beginUnpack (void)
void TraceSummary::endUnpack (void)
void TraceSummary::beginComputation (void)
void TraceSummary::endComputation (void)
void TraceSummary::addEventType (int eventType)
 for trace summary event mark
void TraceSummary::startPhase (int phase)
 for starting a new phase
void TraceSummary::traceEnableCCS ()
 Supporting methods for CCS queries.
void TraceSummary::fillData (double *buffer, double reqStartTime, double reqBinSize, int reqNumBins)
void TraceSummaryBOC::initCCS ()
 for TraceSummaryBOC
void TraceSummaryBOC::ccsRequestSummaryDouble (CkCcsRequestMsg *m)
 Return summary information as double precision values for each sample period.
void TraceSummaryBOC::ccsRequestSummaryUnsignedChar (CkCcsRequestMsg *m)
 Return summary information as unsigned char values for each sample period.
void TraceSummaryBOC::collectSummaryData (double startTime, double binSize, int numBins)
void TraceSummaryBOC::summaryDataCollected (CkReductionMsg *)
void TraceSummaryBOC::startSumOnly ()
void TraceSummaryBOC::askSummary (int size)
void TraceSummaryBOC::sendSummaryBOC (CkReductionMsg *)
void TraceSummaryBOC::write ()
void TraceUtilization::beginExecute (CmiObjId *tid)
void TraceUtilization::beginExecute (envelope *e)
void TraceUtilization::beginExecute (int event, int msgType, int ep, int srcPe, int mlen=0, CmiObjId *idx=NULL)
void TraceUtilization::endExecute (void)
void TraceUtilization::addEventType (int eventType)
void TraceUtilizationBOC::ccsRequestSumDetailCompressed (CkCcsRequestMsg *m)
 Entry methods:.
void TraceUtilizationBOC::collectSumDetailData ()
void TraceUtilizationBOC::sumDetailDataCollected (CkReductionMsg *)
void TraceUtilization::writeSts (void)
double TraceUtilization::sumUtilization (int startBin, int endBin)
compressedBuffer TraceUtilization::compressNRecentSumDetail (int desiredBinsToSend)
 Create a compressed buffer of the n most recent sum detail samples.

Variables

int traceBluegeneLinked
static int warned = 0
int traceBluegeneLinked = 0
int _threadMsg
 Tracing-specific registered Charm entities:.
int _threadChare
int _threadEP
int _packMsg
int _packChare
int _packEP
int _unpackMsg
int _unpackChare
int _unpackEP
int _dummyMsg
int _dummyChare
int _dummyEP
int _threadMsg
 Tracing-specific registered Charm entities:.
int _threadChare
int _threadEP
int _packMsg
int _packChare
int _packEP
int _unpackMsg
int _unpackChare
int _unpackEP
int _dummyMsg
int _dummyChare
int _dummyEP
static const int NUM_EXTRA_PERF = 6
static int _numEvents = 0
static const int NUM_COUNTER_ARGS = 32
 The following is the list of arguments that can be passed to the +counter{1|2} command line arguments.
static TraceCounter::CounterArg COUNTER_ARG [NUM_COUNTER_ARGS]
int deltaLog
int nonDeltaLog
int checknested = 0
CkGroupID traceProjectionsGID
char * UsrEvent::str
static int warned = 0
int numPAPIEvents = 2
int papiEvents [] = { PAPI_L3_DCM, PAPI_FP_OPS }
char * papiEventNames [] = {"PAPI_L3_DCM", "PAPI_FP_OPS"}
int TraceThreadListener::event
int TraceThreadListener::msgType
int TraceThreadListener::ep
int TraceThreadListener::srcPe
int TraceThreadListener::ml
CmiObjId TraceThreadListener::idx
static int _numEvents = 0
int compressedBuffer::pos
 < byte position just beyond the previously read/written data
CkGroupID traceSummaryGID
bool summaryCcsStreaming
int sumonly = 0
int sumDetail = 0
double epThreshold
double epInterval
CProxy_TraceUtilizationBOC traceUtilizationGroupProxy
CkReduction::reducerType sumDetailCompressedReducer
 A reduction type for merging compressed sum detail data.
CProxy_TraceUtilizationBOC traceUtilizationGroupProxy
int _dummyMsg
int _dummyChare
int _dummyEP

Typedef Documentation

typedef void(* mTFP)()

Definition at line 66 of file trace-common.C.

typedef CkVec<char *> usrEventVec

Definition at line 40 of file trace-projections.C.

typedef CMK_TYPEDEF_INT8 LONG_LONG_PAPI

Definition at line 49 of file trace.h.


Function Documentation

void _createTracebluegene ( char **  argv  ) 

Definition at line 25 of file trace-bluegene.C.

References Converse::CkMyPe(), and traceBluegeneLinked.

static void writeData ( void *  data,
double  t,
double  recvT,
void *  ptr 
) [static]

Definition at line 36 of file trace-bluegene.C.

References TraceBluegene::writePrint().

Referenced by TraceBluegene::bgMark(), and TraceBluegene::bgPrint().

CpvExtern ( BGMach  ,
bgMach   
)

void BgPrintf ( const char *  str  ) 

Definition at line 255 of file trace-bluegene.C.

void BgMark ( char *  str  ) 

Definition at line 266 of file trace-bluegene.C.

void BgSetStartEvent (  ) 

Definition at line 271 of file trace-bluegene.C.

References genTimeLog, and BgTimeLog::setStartEvent().

CkpvExtern ( TraceBluegene ,
_tracebg   
)

CpvCExtern ( int  ,
_traceCoreOn   
)

CkpvDeclare ( TraceArray ,
_traces   
)

CkpvDeclare ( TraceBluegene ,
_tracebg   
)

CkpvDeclare ( double  ,
traceInitTime   
)

CkpvDeclare ( double  ,
traceInitCpuTime   
)

CpvDeclare ( int  ,
traceOn   
)

CkpvDeclare ( int  ,
traceOnPe   
)

CkpvDeclare ( char *  ,
traceRoot   
)

CkpvDeclare ( int  ,
traceRootBaseLength   
)

CkpvDeclare ( char *  ,
selective   
)

CkpvDeclare ( bool  ,
verbose   
)

CpvStaticDeclare ( mTFP  ,
machineTraceFuncPtr   
)

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

decide parameters from command line

Write out the common parts of the .sts file.

defined in moduleInit.C

traceInit: called at Converse level traceCharmInit: called at Charm++ level

initialize trace framework, also create the trace module(s).

In traceBegin(), CkpvAccessOther will be used which means this core needs to access to some cpv variable on another core in the same memory address space. It's possible the variable on the other core has not been initialized, which implies the CpvAcessOther will cause a bad memory access. Therefore, we need a barrier here for the traceCommonInit to finish here. -Chao Mei

Converse version

Charm++ version

traceClose: this function is called at Converse traceCharmClose: called at Charm++ level

Definition at line 76 of file trace-common.C.

References _chareTable, _charmHandlerIdx, _entryTable, _msgTable, _processHandler(), TraceArray::beginExecute(), TraceArray::beginFunc(), BGConverse::BgNodeRank(), BgTraceProjectionOn(), TraceArray::cancel_beginIdle, TraceArray::cancel_endIdle, CcdCallOnConditionKeep(), CcdCancelCallOnConditionKeep(), BGConverse::CkMyNodeSize(), Converse::CkMyPe(), BGConverse::CkMyRank(), BGConverse::CkNumNodes(), Converse::CkNumPes(), CkRegisterChare(), CkRegisterChareInCharm(), CkRegisterEp(), CkRegisterMsg(), CmiArgGroup(), CmiBarrier(), CmiGetArgFlag(), CmiGetArgFlagDesc(), CmiGetArgStringDesc(), CmiMemoryUsage(), CmiMyRank(), CmiPrintf(), CmiRankOf(), CmiStartTimer(), CmiTraceTimer(), TraceArray::creation(), TraceArray::creationMulticast(), TraceArray::endExecute(), TraceArray::endFunc(), idx, CkListString::includes(), initTraceCore(), TraceArray::length(), malloc(), msg, TraceArray::n, registerMachineUserEvents(), registerMachineUserEventsFunction(), resumeTraceCore(), size, TraceArray::traceAddThreadListeners(), traceAvailable(), traceAwaken(), TraceArray::traceBegin(), traceBeginFuncIndexProj(), traceBeginFuncProj(), TraceArray::traceBeginOnCommThread(), traceCharmClose(), traceCharmInit(), TraceArray::traceClearEps(), TraceArray::traceClose(), TraceArray::traceEnableCCS(), TraceArray::traceEnd(), traceEndFuncIndexProj(), traceEndFuncProj(), TraceArray::traceEndOnCommThread(), TraceArray::traceFlushLog(), traceInit(), traceMemoryUsage(), traceMessageRecv(), TraceBluegene::traceOnPE(), traceRegisterFunction(), TraceArray::traceRegisterUserEvent(), traceResume(), traceSuspend(), TraceTimer(), traceUserBracketEvent(), traceUserEvent(), traceUserSuppliedBracketedNote(), traceUserSuppliedData(), traceUserSuppliedNote(), TraceArray::traceWriteSts(), traceWriteSTS(), and TypeInvalid.

CkpvExtern ( int  ,
CtrLogBufSize   
)

CkpvExtern ( char *  ,
traceRoot   
)

CkpvExtern ( int  ,
traceRootBaseLength   
)

CkpvExtern ( char *  ,
selective   
)

CkpvExtern ( bool  ,
verbose   
)

CkpvExtern ( double  ,
traceInitTime   
)

CkpvExtern ( double  ,
traceInitCpuTime   
)

double TraceTimer (  )  [inline]

double TraceTimer ( double  t  )  [inline]

Definition at line 74 of file trace-common.h.

double TraceCpuTimer (  )  [inline]

double TraceCpuTimer ( double  t  )  [inline]

Definition at line 76 of file trace-common.h.

void traceWriteSTS ( FILE *  stsfp,
int  nUserEvents 
)

Write out the common parts of the .sts file.

Referenced by traceCommonInit(), TraceUtilization::writeSts(), SumLogPool::writeSts(), writeSts(), and LogPool::writeSts().

void(*)() registerMachineUserEvents (  ) 

int start_counters ( int  e0,
int  e1 
)

int read_counters ( int  e0,
long long *  c0,
int  e1,
long long *  c1 
)

CkpvStaticDeclare ( Trace ,
_trace   
)

CpvStaticDeclare ( CountLogPool ,
_logPool   
)

CpvStaticDeclare ( char *  ,
_logName   
)

CpvStaticDeclare ( char **  ,
_counterNames   
)

CpvStaticDeclare ( char **  ,
_counterDesc   
)

CpvStaticDeclare ( int  ,
_numCounters   
)

CpvStaticDeclare ( int  ,
_reductionID   
)

CpvDeclare ( double  ,
version   
)

CmiHandler StatTableReduction ( char *  msg  ) 

Definition at line 50 of file trace-counter.C.

References CmiFree(), CmiMyPe(), CmiPrintf(), and size.

Referenced by StatTable::StatTable().

void _createTracecounter ( char **  argv  ) 

Definition at line 192 of file trace-counter.C.

References CmiMyPe(), and TraceCounter::traceInit().

CkpvStaticDeclare ( TraceProjections ,
_trace   
)

CtvStaticDeclare ( int  ,
curThreadEvent   
)

CkpvDeclare ( bool  ,
useOutlierAnalysis   
)

CkpvDeclare ( int  ,
CtrLogBufSize   
)

CkpvStaticDeclare ( usrEventVec  ,
usrEventlist   
)

UsrEvent::UsrEvent ( int  _e,
char *  _s 
) [inline, inherited]

Definition at line 46 of file trace-projections.C.

CkpvStaticDeclare ( CkVec< UsrEvent * > *  ,
usrEvents   
)

void disableTraceLogOutput (  ) 

Disable the outputting of the trace logs.

Definition at line 53 of file trace-projections.C.

void enableTraceLogOutput (  ) 

Enable the outputting of the trace logs.

Definition at line 59 of file trace-projections.C.

void flushTraceLog (  ) 

Force the log files to be flushed.

Force the log file to be flushed.

Definition at line 66 of file trace-projections.C.

void _createTraceprojections ( char **  argv  ) 

For each TraceFoo module, _createTraceFoo() must be defined.

This function is called in _createTraces() generated in moduleInit.C

Definition at line 104 of file trace-projections.C.

References Converse::CkMyPe().

Referenced by _createTraceall().

void traceThreadListener_suspend ( struct CthThreadListener l  ) 

Definition at line 133 of file trace-projections.C.

References traceSuspend().

Referenced by TraceProjections::traceAddThreadListeners().

void traceThreadListener_resume ( struct CthThreadListener l  ) 

void traceThreadListener_free ( struct CthThreadListener l  ) 

Definition at line 155 of file trace-projections.C.

Referenced by TraceProjections::traceAddThreadListeners().

static void updateProjLog ( void *  data,
double  t,
double  recvT,
void *  ptr 
) [static]

Definition at line 536 of file trace-projections.C.

References LogPool::fp, p, LogEntry::pup(), LogEntry::recvTime, and LogEntry::time.

Referenced by LogPool::add().

void CombineProjections (  ) 

Definition at line 1848 of file trace-projections.C.

References CkExit().

Referenced by initTraceProjectionsBOC().

void initTraceProjectionsBOC (  ) 

CkpvStaticDeclare ( TraceRecordReplay ,
_trace   
)

void _createTracerecordreplay ( char **  argv  ) 

For each TraceFoo module, _createTraceFoo() must be defined.

This function is called in _createTraces() generated in moduleInit.C

Definition at line 29 of file trace-recordreplay.C.

References Converse::CkMyPe().

CkpvStaticDeclare ( TraceSummary ,
_trace   
)

CkpvDeclare ( int  ,
binCount   
)

CkpvDeclare ( double  ,
binSize   
)

CkpvDeclare ( double  ,
version   
)

CkpvDeclare ( int  ,
previouslySentBins   
)

compressedBuffer::compressedBuffer (  )  [inline, inherited]

Definition at line 53 of file trace-summary.C.

References compressedBuffer::buf, and compressedBuffer::pos.

compressedBuffer::compressedBuffer ( int  bytes  )  [inline, inherited]

Definition at line 58 of file trace-summary.C.

References compressedBuffer::buf, malloc(), and compressedBuffer::pos.

compressedBuffer::compressedBuffer ( void *  buffer  )  [inline, inherited]

Definition at line 63 of file trace-summary.C.

References compressedBuffer::buf, and compressedBuffer::pos.

void compressedBuffer::init ( void *  buffer  )  [inline, inherited]

Definition at line 68 of file trace-summary.C.

References compressedBuffer::buf, and compressedBuffer::pos.

Referenced by sumDetailCompressedReduction().

void* compressedBuffer::currentPtr (  )  [inline, inherited]

Definition at line 73 of file trace-summary.C.

References compressedBuffer::buf, and compressedBuffer::pos.

template<typename T>
T compressedBuffer::read ( int  offset  )  [inline, inherited]

Definition at line 78 of file trace-summary.C.

References compressedBuffer::buf.

template<typename T>
void compressedBuffer::write ( T  v,
int  offset 
) [inline, inherited]

Definition at line 86 of file trace-summary.C.

References compressedBuffer::buf.

template<typename T>
void compressedBuffer::increment ( int  offset  )  [inline, inherited]

template<typename T>
void compressedBuffer::accumulate ( T  v,
int  offset 
) [inline, inherited]

Definition at line 101 of file trace-summary.C.

template<typename T>
int compressedBuffer::push ( T  v  )  [inline, inherited]

template<typename T>
T compressedBuffer::pop (  )  [inline, inherited]

template<typename T>
T compressedBuffer::peek (  )  [inline, inherited]

Definition at line 124 of file trace-summary.C.

References compressedBuffer::pos.

Referenced by mergeCompressedBin().

template<typename T0, typename T>
T compressedBuffer::peekSecond (  )  [inline, inherited]

Definition at line 130 of file trace-summary.C.

References compressedBuffer::buf, and compressedBuffer::pos.

int compressedBuffer::datalength (  )  [inline, inherited]

void* compressedBuffer::buffer (  )  [inline, inherited]

void compressedBuffer::freeBuf (  )  [inline, inherited]

compressedBuffer::~compressedBuffer (  )  [inline, inherited]

Definition at line 148 of file trace-summary.C.

void _createTracesummary ( char **  argv  ) 

For each TraceFoo module, _createTraceFoo() must be defined.

This function is called in _createTraces() generated in moduleInit.C

Definition at line 168 of file trace-summary.C.

References Converse::CkMyPe().

Referenced by _createTraceall().

void CkSummary_StartPhase ( int  phase  ) 

function call for starting a phase in trace summary logs

Definition at line 181 of file trace-summary.C.

void CkSummary_MarkEvent ( int  eventType  ) 

function call for adding an event mark

Definition at line 189 of file trace-summary.C.

static void writeU ( FILE *  fp,
int  u 
) [inline, static]

Definition at line 194 of file trace-summary.C.

Referenced by TraceSummaryBOC::write(), BinEntry::write(), and SumLogPool::write().

void startCollectData ( void *  data,
double  currT 
)

void _CkExit (  ) 

void CombineSummary (  ) 

Definition at line 1166 of file trace-summary.C.

References CkExit(), Converse::CkMyPe(), and CmiPrintf().

Referenced by initTraceSummaryBOC().

void initTraceSummaryBOC (  ) 

void collectUtilizationData ( void *  ignore,
double  currT 
)

CkpvStaticDeclare ( TraceUtilization ,
_trace   
)

void _createTraceutilization ( char **  argv  ) 

For each TraceFoo module, _createTraceFoo() must be defined.

This function is called in _createTraces() generated in moduleInit.C

Definition at line 39 of file trace-utilization.C.

References CkReduction::addReducer(), sumDetailCompressedReducer, and sumDetailCompressedReduction().

compressedBuffer moveTinyEntriesToOther ( compressedBuffer  src,
double  threshold 
)

Compress a buffer by merging all entries in a bin that are less than the threshold into a single "other" category.

Definition at line 225 of file trace-utilization.C.

References dest, compressedBuffer::increment(), compressedBuffer::pop(), compressedBuffer::pos, and compressedBuffer::push().

Referenced by sumDetailCompressedReduction().

CkReductionMsg * sumDetailCompressedReduction ( int  nMsg,
CkReductionMsg **  msgs 
)

compressedBuffer fakeCompressedMessage (  ) 

Create fake sum detail data in the compressed format (for debugging).

Definition at line 354 of file trace-utilization.C.

References Converse::CkMyPe(), isCompressedBufferSane(), and compressedBuffer::push().

Referenced by TraceUtilizationBOC::ccsRequestSumDetailCompressed(), and TraceUtilizationBOC::collectSumDetailData().

compressedBuffer emptyCompressedBuffer (  ) 

Create an empty message.

Definition at line 385 of file trace-utilization.C.

References compressedBuffer::push().

Referenced by TraceUtilizationBOC::ccsRequestSumDetailCompressed().

void printCompressedBuf ( compressedBuffer  b  ) 

print out the compressed buffer starting from its begining

Definition at line 395 of file trace-utilization.C.

References xi::numEntries, compressedBuffer::pop(), and compressedBuffer::pos.

bool isCompressedBufferSane ( compressedBuffer  b  ) 

double averageUtilizationInBuffer ( compressedBuffer  b  ) 

void sanityCheckCompressedBuf ( compressedBuffer  b  ) 

Definition at line 482 of file trace-utilization.C.

References isCompressedBufferSane().

void mergeCompressedBin ( compressedBuffer srcBufferArray,
int  numSrcBuf,
int numProcsRepresentedInMessage,
int  totalProcsAcrossAllMessages,
compressedBuffer destBuf 
)

Merge the compressed entries from the first bin in each of the srcBuf buffers.

Definition at line 571 of file trace-utilization.C.

References compressedBuffer::increment(), compressedBuffer::peek(), compressedBuffer::pop(), and compressedBuffer::push().

Referenced by sumDetailCompressedReduction().

compressedBuffer compressAvailableNewSumDetail ( int  max = 10000  ) 

void traceClearEps (  ) 

void traceEnableCCS (  ) 

double CmiTraceTimer (  ) 

Referenced by traceCommonInit().

void traceAddThreadListeners ( CthThread  tid,
envelope e 
)

CkpvExtern ( int  ,
traceOnPe   
)

CkpvExtern ( TraceArray ,
_traces   
)

void resetVTime (  ) 

void TraceBluegene::writePrint ( char *  str,
double  t 
) [inherited]

Definition at line 44 of file trace-bluegene.C.

References Converse::CkMyPe(), TraceBluegene::creatFiles(), and TraceBluegene::pfp.

Referenced by writeData().

TraceBluegene::TraceBluegene ( char **  argv  )  [inherited]

Definition at line 51 of file trace-bluegene.C.

void TraceBluegene::traceClose ( void   )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 55 of file trace-bluegene.C.

References bgUpdateProj(), Converse::CkMyPe(), and TraceBluegene::pfp.

TraceBluegene::~TraceBluegene (  )  [inherited]

Definition at line 63 of file trace-bluegene.C.

void TraceBluegene::creatFiles (  )  [inherited]

Definition at line 67 of file trace-bluegene.C.

References Converse::CkMyPe(), CmiAbort(), and TraceBluegene::pfp.

Referenced by TraceBluegene::writePrint().

void TraceBluegene::tlineEnd ( void **  parentLogPtr  )  [inherited]

Definition at line 76 of file trace-bluegene.C.

References BgLastLog(), and genTimeLog.

void TraceBluegene::bgAddTag ( const char *  str  )  [inherited]

Definition at line 83 of file trace-bluegene.C.

References BgLastLog(), genTimeLog, and BgTimeLog::setName().

void TraceBluegene::bgDummyBeginExec ( const char *  name,
void **  parentLogPtr,
int  split 
) [inherited]

void TraceBluegene::bgBeginExec ( char *  msg,
char *  str 
) [inherited]

Definition at line 107 of file trace-bluegene.C.

References genTimeLog, and startVTimer().

void TraceBluegene::bgSetInfo ( char *  msg,
const char *  str,
void **  logs,
int  count 
) [inherited]

void TraceBluegene::bgAmpiBeginExec ( char *  msg,
char *  str,
void **  logs,
int  count 
) [inherited]

void TraceBluegene::bgAmpiSetSize ( int  size  )  [inherited]

Definition at line 138 of file trace-bluegene.C.

References BgLastLog(), genTimeLog, and BgTimeLog::setSize().

void TraceBluegene::bgEndExec ( int  commit  )  [inherited]

Definition at line 145 of file trace-bluegene.C.

References BgEndLastLog(), BgLogEntryCommit(), genTimeLog, and stopVTimer().

void TraceBluegene::beginExecute ( envelope e  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 155 of file trace-bluegene.C.

References genTimeLog, envelope::getEpIdx(), and BgTimeLog::setCharmEP().

void TraceBluegene::beginExecute ( int  event,
int  msgType,
int  ep,
int  srcPe,
int  mlen,
CmiObjId idx 
) [virtual, inherited]

Reimplemented from Trace.

Definition at line 163 of file trace-bluegene.C.

References genTimeLog, BgTimeLog::setCharmEP(), and BgTimeLog::setObjId().

void TraceBluegene::getForwardDep ( void *  log,
void **  fDepPtr 
) [inherited]

void TraceBluegene::getForwardDepForAll ( void **  logs1,
void **  logs2,
int  logsize,
void *  fDepPtr 
) [inherited]

Definition at line 186 of file trace-bluegene.C.

References BgTimeLog::addBackwardDep(), genTimeLog, and BgTimeLog::objId.

void TraceBluegene::addBackwardDep ( void *  log  )  [inherited]

Definition at line 211 of file trace-bluegene.C.

References BgAddBackwardDep(), BgLastLog(), and genTimeLog.

void TraceBluegene::userBracketEvent ( const char *  name,
double  bt,
double  et,
void **  parentLogPtr 
) [inherited]

Definition at line 219 of file trace-bluegene.C.

References _threadEP, BgTimeLog::addBackwardDep(), genTimeLog, and BgTimeLog::objId.

void TraceBluegene::userBracketEvent ( const char *  name,
double  bt,
double  et,
void **  parentLogPtr,
CkVec< void * >  bgLogList 
) [inherited]

void TraceBluegene::bgPrint ( const char *  str  )  [inherited]

void TraceBluegene::bgMark ( char *  str  )  [inherited]

Definition at line 260 of file trace-bluegene.C.

References bgAddProjEvent(), BgGetTime(), genTimeLog, and writeData().

StatTable::StatTable (  )  [inherited]

Definition at line 203 of file trace-counter.C.

References CmiMyPe(), CmiRegisterHandler(), and StatTableReduction().

StatTable::~StatTable (  )  [inherited]

Definition at line 214 of file trace-counter.C.

References StatTable::stats_.

void StatTable::init ( int  argc  )  [inherited]

void StatTable::setEp ( int  epidx,
int  stat,
long long  value,
double  time 
) [inherited]

void StatTable::write ( FILE *  fp  )  [inherited]

write three lines for each stat: 1.

write three lines for each stat: 1.

number of calls for each entry 2. average count for each entry 3. total time in us spent for each entry

number of calls for each entry 2. average count for each entry 3. total time in us spent for each entry

Definition at line 270 of file trace-counter.C.

References _entryTable, CmiMyPe(), StatTable::Statistics::minCount, StatTable::numStats_, and StatTable::stats_.

Referenced by CountLogPool::write().

void StatTable::clear (  )  [inherited]

void StatTable::doReduction ( int  phase,
double  idleTime 
) [inherited]

do a reduction across processors to calculate the total count for each count, and if the count has flops, etc, then calc the the flops/s, etc.

do a reduction across processors to calculate the total count for each count, and if the count has flops, etc, then calc the the flops/s, etc.

..

Definition at line 338 of file trace-counter.C.

References StatTable::Statistics::avgCount, CmiAlloc(), CmiMyPe(), Converse::CmiSyncSendAndFree(), msg, StatTable::Statistics::numCalled, StatTable::numStats_, StatTable::stats_, and StatTable::Statistics::totTime.

Referenced by CountLogPool::doReduction().

CountLogPool::CountLogPool (  )  [inherited]

Definition at line 416 of file trace-counter.C.

References CmiMyPe().

FILE * CountLogPool::openFile ( int  phase = -1  )  [inherited]

Definition at line 425 of file trace-counter.C.

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

Referenced by CountLogPool::write().

void CountLogPool::write ( int  phase = -1  )  [inherited]

void CountLogPool::writeSts ( int  phase = -1  )  [inherited]

void CountLogPool::setEp ( int  epidx,
int  index1,
long long  count1,
int  index2,
long long  count2,
double  time 
) [inherited]

Definition at line 520 of file trace-counter.C.

References CmiAbort(), StatTable::setEp(), and CountLogPool::stats_.

TraceCounter::TraceCounter (  )  [inherited]

constructor

Definition at line 536 of file trace-counter.C.

References TraceCounter::registerArg().

TraceCounter::~TraceCounter (  )  [inherited]

destructor

Definition at line 569 of file trace-counter.C.

References TraceCounter::commandLine_, and TraceCounter::traceClose().

void TraceCounter::traceInit ( char **  argv  )  [inherited]

void TraceCounter::traceBegin ( void   )  [virtual, inherited]

turn trace on/off, note that charm will automatically call traceBegin() at the beginning of every run unless the command line option "+traceoff" is specified

turn trace on/off, note that charm will automatically call traceBegin() at the beginning of every run unless the command line option "+traceoff" is specified

Reimplemented from Trace.

Definition at line 768 of file trace-counter.C.

References TraceCounter::beginOverview(), CmiMyPe(), CmiPrintf(), TraceCounter::idleTime_, TraceCounter::overview_, TraceCounter::phase_, print(), TraceCounter::traceOn_, and TraceCounter::writeByPhase_.

void TraceCounter::traceEnd ( void   )  [virtual, inherited]

turn trace on/off, note that charm will automatically call traceBegin() at the beginning of every run unless the command line option "+traceoff" is specified

Reimplemented from Trace.

Definition at line 792 of file trace-counter.C.

References CmiMyPe(), CmiPrintf(), TraceCounter::dirty_, TraceCounter::endOverview(), TraceCounter::idleTime_, TraceCounter::noLog_, TraceCounter::overview_, TraceCounter::phase_, print(), TraceCounter::reductionPhase_, TraceCounter::switchByPhase_, TraceCounter::switchCounters(), TraceCounter::traceOn_, and TraceCounter::writeByPhase_.

void TraceCounter::beginExecute ( envelope e  )  [virtual, inherited]

begin/end execution of a Charm++ entry point NOTE: begin/endPack and begin/endUnpack can be called in between a beginExecute and its corresponding endExecute.

begin/end execution of a Charm++ entry point NOTE: begin/endPack and begin/endUnpack can be called in between a beginExecute and its corresponding endExecute.

Reimplemented from Trace.

Definition at line 830 of file trace-counter.C.

References _threadEP, and envelope::getEpIdx().

void TraceCounter::beginExecute ( int  event,
int  msgType,
int  ep,
int  srcPe,
int  mlen = 0,
CmiObjId idx = 0 
) [virtual, inherited]

begin/end execution of a Charm++ entry point NOTE: begin/endPack and begin/endUnpack can be called in between a beginExecute and its corresponding endExecute.

Parameters:
msgType  event type defined in trace-common.h
ep  message type
srcPe  Charm++ entry point (will correspond to sts file)
mlen  Which PE originated the call
idx  message size

Reimplemented from Trace.

Definition at line 841 of file trace-counter.C.

References CmiAbort(), CmiMyPe(), CmiPrintf(), TraceCounter::CounterArg::code, TraceCounter::counter1_, TraceCounter::counter2_, TraceCounter::execEP_, TraceCounter::genStart_, TraceCounter::IDLE, TraceCounter::overview_, print(), start_counters(), TraceCounter::startEP_, TraceCounter::status_, TraceCounter::traceOn_, TraceTimer(), and TraceCounter::WORKING.

void TraceCounter::endExecute ( void   )  [virtual, inherited]

void TraceCounter::beginIdle ( double  curWallTime  )  [virtual, inherited]

begin/end idle time for this pe

Reimplemented from Trace.

Definition at line 929 of file trace-counter.C.

References TraceCounter::startIdle_, TraceCounter::traceOn_, and TraceTimer().

void TraceCounter::endIdle ( double  curWallTime  )  [virtual, inherited]

begin/end idle time for this pe

Reimplemented from Trace.

Definition at line 934 of file trace-counter.C.

References TraceCounter::idleTime_, TraceCounter::startIdle_, TraceCounter::traceOn_, and TraceTimer().

void TraceCounter::beginPack ( void   )  [virtual, inherited]

begin/end the process of packing a message (to send)

Reimplemented from Trace.

Definition at line 939 of file trace-counter.C.

References CmiMyPe().

void TraceCounter::endPack ( void   )  [virtual, inherited]

begin/end the process of packing a message (to send)

Reimplemented from Trace.

Definition at line 950 of file trace-counter.C.

References CmiMyPe().

void TraceCounter::beginUnpack ( void   )  [virtual, inherited]

begin/end the process of unpacking a message (can occur before calling a entry point or during an entry point when

begin/end the process of unpacking a message (can occur before calling a entry point or during an entry point when

Reimplemented from Trace.

Definition at line 961 of file trace-counter.C.

References CmiMyPe().

void TraceCounter::endUnpack ( void   )  [virtual, inherited]

begin/end the process of unpacking a message (can occur before calling a entry point or during an entry point when

Reimplemented from Trace.

Definition at line 972 of file trace-counter.C.

References CmiMyPe().

void TraceCounter::beginComputation ( void   )  [virtual, inherited]

begin/end of execution

Reimplemented from Trace.

Definition at line 982 of file trace-counter.C.

void TraceCounter::endComputation ( void   )  [virtual, inherited]

end computation, do a reduction here in hopes that it finishes before traceClose called and the program exits

Reimplemented from Trace.

Definition at line 988 of file trace-counter.C.

References TraceCounter::idleTime_.

void TraceCounter::traceClearEps ( void   )  [virtual, inherited]

clear all data collected for entry points

Reimplemented from Trace.

Definition at line 993 of file trace-counter.C.

void TraceCounter::traceWriteSts ( void   )  [virtual, inherited]

write the summary sts file for this trace

Reimplemented from Trace.

Definition at line 998 of file trace-counter.C.

References CmiMyPe(), TraceCounter::noLog_, and TraceCounter::traceOn_.

void TraceCounter::traceClose ( void   )  [virtual, inherited]

void TraceCounter::beginOverview (  )  [private, inherited]

start/stop the overall counting ov eps (don't write to logCount, just print to screen

start/stop the overall counting ov eps (don't write to logCount, just print to screen

Definition at line 1029 of file trace-counter.C.

References CmiAbort(), CmiMyPe(), CmiPrintf(), TraceCounter::CounterArg::code, TraceCounter::counter1_, TraceCounter::counter2_, TraceCounter::dirty_, TraceCounter::genStart_, start_counters(), TraceCounter::startEP_, and TraceTimer().

Referenced by TraceCounter::traceBegin().

void TraceCounter::endOverview (  )  [private, inherited]

void TraceCounter::switchCounters (  )  [private, inherited]

void TraceCounter::registerArg ( CounterArg arg  )  [private, inherited]

bool TraceCounter::matchArg ( CounterArg arg  )  [private, inherited]

see if the arg (str or code) matches any in the linked list of choices and sets arg->code to the SGI code return true if arg matches, false otherwise

see if the arg (str or code) matches any in the linked list of choices and sets arg->code to the SGI code return true if arg matches, false otherwise

Definition at line 1142 of file trace-counter.C.

References TraceCounter::CounterArg::arg, TraceCounter::CounterArg::code, TraceCounter::CounterArg::desc, TraceCounter::firstArg_, match(), and TraceCounter::CounterArg::next.

Referenced by TraceCounter::traceInit().

void TraceCounter::usage (  )  [private, inherited]

print out usage argument

Definition at line 1171 of file trace-counter.C.

References CmiPrintf().

Referenced by TraceCounter::traceInit().

void TraceCounter::printHelp (  )  [private, inherited]

void TraceProjections::traceAddThreadListeners ( CthThread  tid,
envelope e 
) [virtual, inherited]

void LogPool::openLog ( const char *  mode  )  [inherited]

void LogPool::closeLog ( void   )  [inherited]

LogPool::LogPool ( char *  pgm  )  [inherited]

void LogPool::createFile ( const char *  fix = ""  )  [inherited]

void LogPool::createSts ( const char *  fix = ""  )  [inherited]

void LogPool::createRC (  )  [inherited]

Definition at line 352 of file trace-projections.C.

References CmiAbort(), errno, LogPool::fname, and LogPool::rcfp.

Referenced by TraceProjections::TraceProjections().

LogPool::~LogPool (  )  [inherited]

void LogPool::writeHeader (  )  [private, inherited]

void LogPool::writeLog ( void   )  [inherited]

void LogPool::write ( int  writedelta  )  [inherited]

void LogPool::writeSts ( void   )  [inherited]

void LogPool::writeSts ( TraceProjections traceProj  )  [inherited]

void LogPool::writeRC ( void   )  [inherited]

void LogPool::flushLogBuffer (  )  [inherited]

void LogPool::add ( unsigned char  type,
unsigned short  mIdx,
unsigned short  eIdx,
double  time,
int  event,
int  pe,
int  ml = 0,
CmiObjId id = 0,
double  recvT = 0.0,
double  cpuT = 0.0,
int  numPe = 0 
) [inherited]

void LogPool::add ( unsigned char  type,
double  time,
unsigned short  funcID,
int  lineNum,
char *  fileName 
) [inherited]

void LogPool::addMemoryUsage ( unsigned char  type,
double  time,
double  memUsage 
) [inherited]

void LogPool::addUserSupplied ( int  data  )  [inherited]

add a record for a user supplied piece of data

Definition at line 616 of file trace-projections.C.

References LogPool::numEntries, LogPool::pool, LogEntry::setUserSuppliedData(), and TraceTimer().

Referenced by TraceProjections::userSuppliedData().

void LogPool::addUserSuppliedNote ( char *  note  )  [inherited]

add a record for a user supplied piece of data

Definition at line 625 of file trace-projections.C.

References LogPool::numEntries, LogPool::pool, LogEntry::setUserSuppliedNote(), and TraceTimer().

Referenced by TraceProjections::userSuppliedNote().

void LogPool::addUserSuppliedBracketedNote ( char *  note,
int  eventID,
double  bt,
double  et 
) [inherited]

void LogPool::addCreationMulticast ( unsigned short  mIdx,
unsigned short  eIdx,
double  time,
int  event,
int  pe,
int  ml = 0,
CmiObjId id = 0,
double  recvT = 0.,
int  numPe = 0,
int pelist = NULL 
) [inherited]

void LogPool::postProcessLog (  )  [inherited]

Definition at line 681 of file trace-projections.C.

References bgUpdateProj().

Referenced by LogPool::~LogPool().

void LogEntry::addPapi ( int  numPapiEvts,
int papi_ids,
LONG_LONG_PAPI papiVals 
) [inherited]

Constructor for a multicast log entry.

Definition at line 710 of file trace-projections.C.

References LogEntry::numPapiEvents, LogEntry::papiIDs, and LogEntry::papiValues.

Referenced by LogPool::addPapi().

void LogEntry::pup ( PUP::er p  )  [inherited]

TraceProjections::TraceProjections ( char **  argv  )  [inherited]

int TraceProjections::traceRegisterUserEvent ( const char *  evt,
int  e 
) [virtual, inherited]

Reimplemented from Trace.

Definition at line 978 of file trace-projections.C.

References CmiAbort().

void TraceProjections::traceClearEps ( void   )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1004 of file trace-projections.C.

void TraceProjections::traceWriteSts ( void   )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1011 of file trace-projections.C.

References TraceProjections::_logPool, Converse::CkMyPe(), and LogPool::writeSts().

void TraceProjections::traceClose ( void   )  [virtual, inherited]

void TraceProjections::closeTrace ( void   )  [inherited]

void TraceProjections::traceBegin ( void   )  [virtual, inherited]

void TraceProjections::traceEnd ( void   )  [virtual, inherited]

void TraceProjections::traceBeginOnCommThread (  )  [virtual, inherited]

void TraceProjections::traceEndOnCommThread (  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1083 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), TraceProjections::curevent, and TraceTimer().

void TraceProjections::userEvent ( int  e  )  [virtual, inherited]

void TraceProjections::userBracketEvent ( int  e,
double  bt,
double  et 
) [virtual, inherited]

void TraceProjections::userSuppliedData ( int  e  )  [virtual, inherited]

void TraceProjections::userSuppliedNote ( char *  note  )  [virtual, inherited]

void TraceProjections::userSuppliedBracketedNote ( char *  note,
int  eventID,
double  bt,
double  et 
) [virtual, inherited]

void TraceProjections::memoryUsage ( double  m  )  [virtual, inherited]

void TraceProjections::creation ( envelope e,
int  epIdx,
int  num = 1 
) [virtual, inherited]

void TraceProjections::creationMulticast ( envelope e,
int  epIdx,
int  num = 1,
int pelist = NULL 
) [virtual, inherited]

void TraceProjections::creationDone ( int  num = 1  )  [virtual, inherited]

void TraceProjections::beginExecute ( CmiObjId tid  )  [virtual, inherited]

void TraceProjections::beginExecute ( envelope e  )  [virtual, inherited]

void TraceProjections::beginExecute ( int  event,
int  msgType,
int  ep,
int  srcPe,
int  ml,
CmiObjId idx = NULL 
) [virtual, inherited]

void TraceProjections::beginExecuteLocal ( int  event,
int  msgType,
int  ep,
int  srcPe,
int  ml,
CmiObjId idx = NULL 
) [inherited]

void TraceProjections::endExecute ( void   )  [virtual, inherited]

void TraceProjections::endExecuteLocal ( void   )  [inherited]

void TraceProjections::messageRecv ( char *  env,
int  pe 
) [virtual, inherited]

void TraceProjections::beginIdle ( double  curWallTime  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1318 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), Converse::CkMyPe(), and TraceTimer().

void TraceProjections::endIdle ( double  curWallTime  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1323 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), Converse::CkMyPe(), and TraceTimer().

void TraceProjections::beginPack ( void   )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1328 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), Converse::CkMyPe(), and TraceTimer().

void TraceProjections::endPack ( void   )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1333 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), Converse::CkMyPe(), and TraceTimer().

void TraceProjections::beginUnpack ( void   )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1338 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), Converse::CkMyPe(), and TraceTimer().

void TraceProjections::endUnpack ( void   )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1343 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), Converse::CkMyPe(), and TraceTimer().

void TraceProjections::enqueue ( envelope e  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1348 of file trace-projections.C.

void TraceProjections::dequeue ( envelope e  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1350 of file trace-projections.C.

void TraceProjections::beginComputation ( void   )  [virtual, inherited]

void TraceProjections::endComputation ( void   )  [virtual, inherited]

int TraceProjections::idxRegistered ( int  idx  )  [private, inherited]

Definition at line 1395 of file trace-projections.C.

References TraceProjections::idxVec, and CkVec< T >::size().

Referenced by TraceProjections::regFunc().

void TraceProjections::regFunc ( const char *  name,
int idx,
int  idxSpecifiedByUser = 0 
) [virtual, inherited]

void TraceProjections::beginFunc ( char *  name,
char *  file,
int  line 
) [virtual, inherited]

Reimplemented from Trace.

Definition at line 1446 of file trace-projections.C.

References TraceProjections::funcHashtable, and CkHashtableT< KEY, OBJ >::get().

void TraceProjections::beginFunc ( int  idx,
char *  file,
int  line 
) [virtual, inherited]

Reimplemented from Trace.

Definition at line 1452 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), CmiError(), and TraceTimer().

void TraceProjections::endFunc ( char *  name  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1459 of file trace-projections.C.

References TraceProjections::funcHashtable, and CkHashtableT< KEY, OBJ >::get().

void TraceProjections::endFunc ( int  num  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 1465 of file trace-projections.C.

References TraceProjections::_logPool, LogPool::add(), printf(), and TraceTimer().

void TraceProjectionsBOC::shutdownAnalysis ( void   )  [inherited]

void TraceProjectionsBOC::startOutlierAnalysis (  )  [inherited]

void TraceProjectionsBOC::outlierAverageReduction ( CkReductionMsg msg  )  [inherited]

void TraceProjectionsBOC::calculateWeights ( OutlierStatsMessage msg  )  [inherited]

void TraceProjectionsBOC::determineOutliers ( OutlierWeightMessage msg  )  [inherited]

void TraceProjectionsBOC::setOutliers ( OutlierThresholdMessage msg  )  [inherited]

void TraceProjectionsBOC::startEndTimeAnalysis (  )  [inherited]

void TraceProjectionsBOC::endTimeReduction ( CkReductionMsg msg  )  [inherited]

void TraceProjectionsBOC::finalReduction ( CkReductionMsg msg  )  [inherited]

void TraceProjectionsBOC::closeTrace ( void   )  [inherited]

TraceRecordReplay::TraceRecordReplay ( char **  argv  )  [inherited]

Definition at line 37 of file trace-recordreplay.C.

void TraceRecordReplay::beginExecute ( envelope e  )  [virtual, inherited]

Reimplemented from Trace.

Definition at line 39 of file trace-recordreplay.C.

References TraceRecordReplay::curevent, and envelope::setEvent().

void TraceRecordReplay::creation ( envelope e,
int  epIdx,
int  num = 1 
) [virtual, inherited]

Reimplemented from Trace.

Definition at line 50 of file trace-recordreplay.C.

References TraceRecordReplay::curevent, and envelope::setEvent().

PhaseEntry::PhaseEntry (  )  [inherited]

SumLogPool::~SumLogPool (  )  [inherited]

void SumLogPool::addEventType ( int  eventType,
double  time 
) [inherited]

SumLogPool::SumLogPool ( char *  pgm  )  [inherited]

void SumLogPool::initMem (  )  [inherited]

int SumLogPool::getUtilization ( int  interval,
int  ep 
) [inline, inherited]

Definition at line 303 of file trace-summary.C.

References SumLogPool::getCPUtime().

void SumLogPool::write ( void   )  [inherited]

void SumLogPool::writeSts ( void   )  [inherited]

void SumLogPool::add ( double  time,
double  idleTime,
int  pe 
) [inherited]

void SumLogPool::setEp ( int  epidx,
double  time 
) [inherited]

void SumLogPool::updateSummaryDetail ( int  epIdx,
double  startTime,
double  endTime 
) [inherited]

void SumLogPool::shrink ( void   )  [inherited]

int BinEntry::getU (  )  [inherited]

Definition at line 601 of file