Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::VariableSynchronizerStats Class Reference

Synchronization statistics. More...

Inheritance diagram for Arcane::VariableSynchronizerStats:
Collaboration diagram for Arcane::VariableSynchronizerStats:

Classes

class  StatInfo

Public Member Functions

 VariableSynchronizerStats (VariableSynchronizerMng *vsm)
void init ()
void flushPendingStats (IParallelMng *pm)
Int32 dumpStats (std::ostream &ostr)
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Static Public Attributes

static constexpr unsigned char LOCAL_UNKNOWN = 0
static constexpr unsigned char LOCAL_DIFF = 1
static constexpr unsigned char LOCAL_SAME = 2

Private Member Functions

void _handleEvent (const VariableSynchronizerEventArgs &args)

Private Attributes

VariableSynchronizerMngm_variable_synchronizer_mng = nullptr
EventObserverPool m_observer_pool
std::map< String, StatInfom_stats
bool m_is_event_registered = false
UniqueArray< Stringm_pending_variable_name_list
UniqueArray< unsigned char > m_pending_compare_status_list

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Synchronization statistics.

When the before/after synchronization comparison is active, each rank knows for its part whether the compared values are the same or not.

However, a reduction must be performed over all ranks to have a global view of the comparison (because only one rank for which the comparison is different is sufficient to consider the comparison to be different).

Since it is too costly to perform the reduction for every synchronization, we maintain a list of comparisons and process this list when it reaches a certain size or if it is explicitly requested.

Definition at line 56 of file VariableSynchronizerMng.cc.

Constructor & Destructor Documentation

◆ VariableSynchronizerStats()

Arcane::VariableSynchronizerStats::VariableSynchronizerStats ( VariableSynchronizerMng * vsm)
inlineexplicit

Definition at line 93 of file VariableSynchronizerMng.cc.

Member Function Documentation

◆ _handleEvent()

void Arcane::VariableSynchronizerStats::_handleEvent ( const VariableSynchronizerEventArgs & args)
private

Definition at line 164 of file VariableSynchronizerMng.cc.

◆ dumpStats()

Int32 Arcane::VariableSynchronizerStats::dumpStats ( std::ostream & ostr)
inline

Definition at line 113 of file VariableSynchronizerMng.cc.

◆ flushPendingStats()

void Arcane::VariableSynchronizerStats::flushPendingStats ( IParallelMng * pm)

Definition at line 204 of file VariableSynchronizerMng.cc.

◆ init()

void Arcane::VariableSynchronizerStats::init ( )
inline

Definition at line 100 of file VariableSynchronizerMng.cc.

Member Data Documentation

◆ LOCAL_DIFF

unsigned char Arcane::VariableSynchronizerStats::LOCAL_DIFF = 1
staticconstexpr

Definition at line 66 of file VariableSynchronizerMng.cc.

◆ LOCAL_SAME

unsigned char Arcane::VariableSynchronizerStats::LOCAL_SAME = 2
staticconstexpr

Definition at line 67 of file VariableSynchronizerMng.cc.

◆ LOCAL_UNKNOWN

unsigned char Arcane::VariableSynchronizerStats::LOCAL_UNKNOWN = 0
staticconstexpr

Definition at line 65 of file VariableSynchronizerMng.cc.

◆ m_is_event_registered

bool Arcane::VariableSynchronizerStats::m_is_event_registered = false
private

Definition at line 155 of file VariableSynchronizerMng.cc.

◆ m_observer_pool

EventObserverPool Arcane::VariableSynchronizerStats::m_observer_pool
private

Definition at line 153 of file VariableSynchronizerMng.cc.

◆ m_pending_compare_status_list

UniqueArray<unsigned char> Arcane::VariableSynchronizerStats::m_pending_compare_status_list
private

Definition at line 157 of file VariableSynchronizerMng.cc.

◆ m_pending_variable_name_list

UniqueArray<String> Arcane::VariableSynchronizerStats::m_pending_variable_name_list
private

Definition at line 156 of file VariableSynchronizerMng.cc.

◆ m_stats

std::map<String, StatInfo> Arcane::VariableSynchronizerStats::m_stats
private

Definition at line 154 of file VariableSynchronizerMng.cc.

◆ m_variable_synchronizer_mng

VariableSynchronizerMng* Arcane::VariableSynchronizerStats::m_variable_synchronizer_mng = nullptr
private

Definition at line 152 of file VariableSynchronizerMng.cc.


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