MueLu
Version of the Day
|
Timer to be used in factories. Similar to Monitor but with additional timers. More...
#include <MueLu_Monitor.hpp>
Public Member Functions | |
FactoryMonitor (const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0) | |
Constructor. More... | |
FactoryMonitor (const BaseClass &object, const std::string &msg, const Level &level, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0) | |
Constructor. More... | |
~FactoryMonitor () | |
Public Member Functions inherited from MueLu::Monitor | |
Monitor (const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0) | |
Constructor. More... | |
Monitor (const BaseClass &object, const std::string &msg, const std::string &label, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0) | |
Constructor. More... | |
virtual | ~Monitor () |
Public Member Functions inherited from MueLu::BaseClass | |
virtual | ~BaseClass () |
Destructor. More... | |
Public Member Functions inherited from MueLu::VerboseObject | |
VerbLevel | GetVerbLevel () const |
Get the verbosity level. More... | |
void | SetVerbLevel (const VerbLevel verbLevel) |
Set the verbosity level of this object. More... | |
int | GetProcRankVerbose () const |
Get proc rank used for printing. Do not use this information for any other purpose. More... | |
int | SetProcRankVerbose (int procRank) const |
Set proc rank used for printing. More... | |
bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
Find out whether we need to print out information for a specific message type. More... | |
Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
Get an output stream for outputting the input message type. More... | |
Teuchos::FancyOStream & | GetBlackHole () const |
VerboseObject () | |
virtual | ~VerboseObject () |
Destructor. More... | |
Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
virtual EVerbosityLevel | getVerbLevel () const |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
virtual | ~VerboseObjectBase () |
VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
virtual RCP< FancyOStream > | getOStream () const |
virtual RCP< FancyOStream > | getOverridingOStream () const |
virtual std::string | getLinePrefix () const |
virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") const |
Public Member Functions inherited from MueLu::Describable | |
virtual | ~Describable () |
Destructor. More... | |
virtual std::string | ShortClassName () const |
Return the class name of the object, without template parameters and without namespace. More... | |
virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
virtual std::string | description () const |
Return a simple one-line description of this object. More... | |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
Print the object with some verbosity level to an FancyOStream object. More... | |
Public Member Functions inherited from Teuchos::Describable | |
void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
LabeledObject () | |
virtual | ~LabeledObject () |
virtual void | setObjectLabel (const std::string &objectLabel) |
virtual std::string | getObjectLabel () const |
DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Static Public Attributes | |
static int | timerIdentifier_ = 0 |
Static Public Attributes inherited from Teuchos::Describable | |
static const EVerbosityLevel | verbLevel_default |
Private Attributes | |
RCP< TimeMonitor > | levelTimeMonitor_ |
Total time spent on this level in this object and all its children. More... | |
MutuallyExclusiveTimeMonitor < FactoryBase > | timerMonitorExclusive_ |
Total time spent on all levels in this object only, excluding all children. More... | |
RCP < MutuallyExclusiveTimeMonitor < Level > > | levelTimeMonitorExclusive_ |
Total time spent on this level in this object only, excluding all children. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from MueLu::VerboseObject | |
static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
static void | SetMueLuOFileStream (const std::string &filename) |
static Teuchos::RCP < Teuchos::FancyOStream > | GetMueLuOStream () |
static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
Set the default (global) verbosity level. More... | |
static VerbLevel | GetDefaultVerbLevel () |
Get the default (global) verbosity level. More... | |
Static Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
static RCP< FancyOStream > | getDefaultOStream () |
Protected Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
virtual void | informUpdatedVerbosityState () const |
Timer to be used in factories. Similar to Monitor but with additional timers.
This class provides the following three timers for an object:
The three timers above yield output like the following:
MueLu: SaPFactory: Prolongator smoothing 2.599 (6) 2.602 (6) 2.607 (6) 0.4336 (6) MueLu: SaPFactory: Prolongator smoothing (level=5) 0.4731 (1) 0.4735 (1) 0.4736 (1) 0.4735 (1) MueLu: SaPFactory: Prolongator smoothing (total) 6.508 (6) 6.551 (6) 6.557 (6) 1.092 (6)
Note that the keyword total denotes timing of the object and its children.
Definition at line 165 of file MueLu_Monitor.hpp.
MueLu::FactoryMonitor::FactoryMonitor | ( | const BaseClass & | object, |
const std::string & | msg, | ||
int | levelID, | ||
MsgType | msgLevel = static_cast<MsgType>(Test | Runtime0) , |
||
MsgType | timerLevel = Timings0 |
||
) |
Constructor.
[in] | object | Reference to the class instance that is creating this SubMonitor. |
[in] | msg | String that indicates what the SubMonitor is monitoring, e.g., "Build" |
[in] | levelID | The MueLu Level number. |
[in] | msgLevel | Governs whether information should be printed. |
[in] | timerLevel | Governs whether timing information should be gathered. Setting this to NoTimeReport prevents the creation of timers. |
Definition at line 49 of file MueLu_Monitor.cpp.
MueLu::FactoryMonitor::FactoryMonitor | ( | const BaseClass & | object, |
const std::string & | msg, | ||
const Level & | level, | ||
MsgType | msgLevel = static_cast<MsgType>(Test | Runtime0) , |
||
MsgType | timerLevel = Timings0 |
||
) |
Constructor.
[in] | object | Reference to the class instance that is creating this SubMonitor. |
[in] | msg | String that indicates what the SubMonitor is monitoring, e.g., "Build". |
[in] | level | The MueLu Level object. |
[in] | msgLevel | Governs whether information should be printed. |
[in] | timerLevel | Governs whether timing information should be gathered. Setting this to NoTimeReport prevents the creation of timers. |
TODO: code factorization
Definition at line 59 of file MueLu_Monitor.cpp.
|
default |
|
static |
Definition at line 167 of file MueLu_Monitor.hpp.
|
private |
Total time spent on this level in this object and all its children.
Definition at line 195 of file MueLu_Monitor.hpp.
|
private |
Total time spent on all levels in this object only, excluding all children.
Definition at line 197 of file MueLu_Monitor.hpp.
|
private |
Total time spent on this level in this object only, excluding all children.
Definition at line 199 of file MueLu_Monitor.hpp.