VTK
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkParallelTimer Class Reference

#include <vtkParallelTimer.h>

Inheritance diagram for vtkParallelTimer:
Inheritance graph
[legend]
Collaboration diagram for vtkParallelTimer:
Collaboration graph
[legend]

List of all members.

Classes

class  LogBodyType
class  LogHeaderType

Public Types

typedef vtkObject Superclass

Public Member Functions

virtual int IsA (const char *type)
vtkParallelTimerNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent)
void Clear ()
void Update ()
int Write ()
virtual void SetWriterRank (int)
virtual int GetWriterRank ()
virtual void SetFileName (const char *)
virtual char * GetFileName ()
void SetFileName (const std::string &fileName)
void StartEvent (const char *event)
void StartEvent (int rank, const char *event)
void EndEvent (const char *event)
void EndEvent (int rank, const char *event)
void EndEventSynch (const char *event)
void EndEventSynch (int rank, const char *event)
template<typename T >
vtkParallelTimeroperator<< (const T &s)
vtkParallelTimer::LogHeaderType GetHeader ()
vtkParallelTimer::LogBodyType GetBody ()
virtual void SetWriteOnClose (int)
virtual int GetWriteOnClose ()
virtual void SetGlobalLevel (int)
virtual int GetGlobalLevel ()

Static Public Member Functions

static vtkParallelTimerNew ()
static int IsTypeOf (const char *type)
static vtkParallelTimerSafeDownCast (vtkObjectBase *o)
static vtkParallelTimerGetGlobalInstance ()
static void DeleteGlobalInstance ()

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 vtkParallelTimer ()
virtual ~vtkParallelTimer ()
class LogHeaderType
class LogBodyType

Detailed Description

Provides ditributed log functionality. When the file is written each process data is collected by rank 0 who writes the data to a single file in rank order.

The log works as an event stack. EventStart pushes the event identifier and its start time onto the stack. EventEnd pops the most recent event time and identifier computes the ellapsed time and adds an entry to the log recording the event, it's start and end times, and its ellapsed time. EndEventSynch includes a barrier before the measurement.

The log class implements the singleton patern so that it may be shared accross class boundaries. If the log instance doesn't exist then one is created. It will be automatically destroyed at exit by the signleton destructor. It can be destroyed explicitly by calling DeleteGlobalInstance.

Definition at line 56 of file vtkParallelTimer.h.


Member Typedef Documentation

Reimplemented from vtkObject.

Definition at line 60 of file vtkParallelTimer.h.


Constructor & Destructor Documentation

virtual vtkParallelTimer::~vtkParallelTimer ( ) [protected, virtual]

Member Function Documentation

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkObject.

static int vtkParallelTimer::IsTypeOf ( const char *  name) [static]

Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

virtual int vtkParallelTimer::IsA ( const char *  name) [virtual]

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkObject.

Reimplemented from vtkObject.

virtual vtkObjectBase* vtkParallelTimer::NewInstanceInternal ( ) const [protected, virtual]

Reimplemented from vtkObject.

Reimplemented from vtkObject.

void vtkParallelTimer::PrintSelf ( ostream &  os,
vtkIndent  indent 
) [virtual]

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkObject.

virtual void vtkParallelTimer::SetWriterRank ( int  ) [virtual]

Set the rank who writes.

virtual int vtkParallelTimer::GetWriterRank ( ) [virtual]

Set the rank who writes.

virtual void vtkParallelTimer::SetFileName ( const char *  ) [virtual]

Set the filename that is used during write when the object is used as a singleton. If nothing is set the default is ROOT_RANKS_PID.log

virtual char* vtkParallelTimer::GetFileName ( ) [virtual]

Set the filename that is used during write when the object is used as a singleton. If nothing is set the default is ROOT_RANKS_PID.log

void vtkParallelTimer::SetFileName ( const std::string &  fileName) [inline]

Set the filename that is used during write when the object is used as a singleton. If nothing is set the default is ROOT_RANKS_PID.log

Definition at line 95 of file vtkParallelTimer.h.

void vtkParallelTimer::StartEvent ( const char *  event)

The log works as an event stack. EventStart pushes the event identifier and its start time onto the stack. EventEnd pops the most recent event time and identifier computes the ellapsed time and adds an entry to the log recording the event, it's start and end times, and its ellapsed time. EndEventSynch includes a barrier before the measurement.

void vtkParallelTimer::StartEvent ( int  rank,
const char *  event 
)

The log works as an event stack. EventStart pushes the event identifier and its start time onto the stack. EventEnd pops the most recent event time and identifier computes the ellapsed time and adds an entry to the log recording the event, it's start and end times, and its ellapsed time. EndEventSynch includes a barrier before the measurement.

void vtkParallelTimer::EndEvent ( const char *  event)

The log works as an event stack. EventStart pushes the event identifier and its start time onto the stack. EventEnd pops the most recent event time and identifier computes the ellapsed time and adds an entry to the log recording the event, it's start and end times, and its ellapsed time. EndEventSynch includes a barrier before the measurement.

void vtkParallelTimer::EndEvent ( int  rank,
const char *  event 
)

The log works as an event stack. EventStart pushes the event identifier and its start time onto the stack. EventEnd pops the most recent event time and identifier computes the ellapsed time and adds an entry to the log recording the event, it's start and end times, and its ellapsed time. EndEventSynch includes a barrier before the measurement.

void vtkParallelTimer::EndEventSynch ( const char *  event)

The log works as an event stack. EventStart pushes the event identifier and its start time onto the stack. EventEnd pops the most recent event time and identifier computes the ellapsed time and adds an entry to the log recording the event, it's start and end times, and its ellapsed time. EndEventSynch includes a barrier before the measurement.

void vtkParallelTimer::EndEventSynch ( int  rank,
const char *  event 
)

The log works as an event stack. EventStart pushes the event identifier and its start time onto the stack. EventEnd pops the most recent event time and identifier computes the ellapsed time and adds an entry to the log recording the event, it's start and end times, and its ellapsed time. EndEventSynch includes a barrier before the measurement.

template<typename T >
vtkParallelTimer & vtkParallelTimer::operator<< ( const T &  s)

Insert text into the log header on the writer rank.

Definition at line 223 of file vtkParallelTimer.h.

stream output to the log's header(root rank only).

Definition at line 124 of file vtkParallelTimer.h.

stream output to log body(all ranks).

Definition at line 130 of file vtkParallelTimer.h.

Clear the log.

When an object is finished writing data to the log object it must call Update to send the data to the writer rank. This ensures that all data is transfered to the root before MPI_Finalize is called while allowing the write to occur after Mpi_finalize. Note: This is a collective call.

Write the log contents to a file.

The log class implements the singleton patern so that it may be shared accross class boundaries. If the log instance doesn't exist then one is created. It will be automatically destroyed at exit by the signleton destructor. It can be destroyed explicitly by calling DeleteGlobalInstance.

static void vtkParallelTimer::DeleteGlobalInstance ( ) [static]

Explicitly delete the singleton.

virtual void vtkParallelTimer::SetWriteOnClose ( int  ) [virtual]

If enabled and used as a singleton the log will write it's contents to disk during program termination.

virtual int vtkParallelTimer::GetWriteOnClose ( ) [virtual]

If enabled and used as a singleton the log will write it's contents to disk during program termination.

virtual void vtkParallelTimer::SetGlobalLevel ( int  ) [virtual]

Set/Get the global log level. Applications can set this to the desired level so that all pipeline objects will log data.

virtual int vtkParallelTimer::GetGlobalLevel ( ) [virtual]

Set/Get the global log level. Applications can set this to the desired level so that all pipeline objects will log data.


Friends And Related Function Documentation

friend class LogHeaderType [friend]

Definition at line 216 of file vtkParallelTimer.h.

friend class LogBodyType [friend]

Definition at line 217 of file vtkParallelTimer.h.


The documentation for this class was generated from the following file: