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

Variable synchronizer manager. More...

#include <arcane/impl/internal/VariableSynchronizerMng.h>

Inheritance diagram for Arcane::VariableSynchronizerMng:
Collaboration diagram for Arcane::VariableSynchronizerMng:

Classes

class  InternalApi

Public Member Functions

 VariableSynchronizerMng (IVariableMng *vm)
void initialize ()
IParallelMngparallelMng () const override
 Associated parallelism manager.
EventObservable< const VariableSynchronizerEventArgs & > & onSynchronized () override
 Event sent at the beginning and end of synchronization.
void setSynchronizationCompareLevel (Int32 v) final
 Sets the comparison level between values before and after synchronization.
Int32 synchronizationCompareLevel () const final
 Comparison level of values before and after synchronization.
bool isSynchronizationComparisonEnabled () const final
 Indicates whether comparisons of values before and after synchronization are performed.
void dumpStats (std::ostream &ostr) const override
 Prints statistics to the stream ostr.
void flushPendingStats () override
 Processes pending statistics.
IVariableSynchronizerMngInternal_internalApi () override
bool isDoingStats () const
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

Private Attributes

IVariableMngm_variable_mng = nullptr
IParallelMngm_parallel_mng = nullptr
InternalApi m_internal_api { this }
EventObservable< const VariableSynchronizerEventArgs & > m_on_synchronized
VariableSynchronizerStatsm_stats = nullptr
Int32 m_synchronize_compare_level = 0
bool m_is_doing_stats = false

Additional Inherited Members

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

Detailed Description

Variable synchronizer manager.

Definition at line 39 of file VariableSynchronizerMng.h.

Constructor & Destructor Documentation

◆ VariableSynchronizerMng()

Arcane::VariableSynchronizerMng::VariableSynchronizerMng ( IVariableMng * vm)
explicit

Definition at line 233 of file VariableSynchronizerMng.cc.

◆ ~VariableSynchronizerMng()

Arcane::VariableSynchronizerMng::~VariableSynchronizerMng ( )

Definition at line 252 of file VariableSynchronizerMng.cc.

Member Function Documentation

◆ _internalApi()

IVariableSynchronizerMngInternal * Arcane::VariableSynchronizerMng::_internalApi ( )
inlineoverridevirtual

Implements Arcane::IVariableSynchronizerMng.

Definition at line 95 of file VariableSynchronizerMng.h.

◆ dumpStats()

void Arcane::VariableSynchronizerMng::dumpStats ( std::ostream & ostr) const
overridevirtual

Prints statistics to the stream ostr.

Statistics must be processed via the call to flushPendingStats() before calling this method.

Implements Arcane::IVariableSynchronizerMng.

Definition at line 270 of file VariableSynchronizerMng.cc.

◆ flushPendingStats()

void Arcane::VariableSynchronizerMng::flushPendingStats ( )
overridevirtual

Processes pending statistics.

This method does nothing if isComparisonEnabled() is false.

This method is collective on parallelMng().

Implements Arcane::IVariableSynchronizerMng.

Definition at line 287 of file VariableSynchronizerMng.cc.

◆ initialize()

void Arcane::VariableSynchronizerMng::initialize ( )

Definition at line 261 of file VariableSynchronizerMng.cc.

◆ isDoingStats()

bool Arcane::VariableSynchronizerMng::isDoingStats ( ) const
inline

Definition at line 96 of file VariableSynchronizerMng.h.

◆ isSynchronizationComparisonEnabled()

bool Arcane::VariableSynchronizerMng::isSynchronizationComparisonEnabled ( ) const
inlinefinalvirtual

Indicates whether comparisons of values before and after synchronization are performed.

Implements Arcane::IVariableSynchronizerMng.

Definition at line 91 of file VariableSynchronizerMng.h.

◆ onSynchronized()

EventObservable< const VariableSynchronizerEventArgs & > & Arcane::VariableSynchronizerMng::onSynchronized ( )
inlineoverridevirtual

Event sent at the beginning and end of synchronization.

This event is sent when calling the methods IVariableSynchronizer::synchronize(IVariable* var) and IVariableSynchronizer::synchronize(VariableCollection vars) for all instances of IVariableSynchronizer.

Implements Arcane::IVariableSynchronizerMng.

Definition at line 84 of file VariableSynchronizerMng.h.

◆ parallelMng()

IParallelMng * Arcane::VariableSynchronizerMng::parallelMng ( ) const
inlineoverridevirtual

Associated parallelism manager.

Implements Arcane::IVariableSynchronizerMng.

Definition at line 82 of file VariableSynchronizerMng.h.

◆ setSynchronizationCompareLevel()

void Arcane::VariableSynchronizerMng::setSynchronizationCompareLevel ( Int32 v)
inlinefinalvirtual

Sets the comparison level between values before and after synchronization.

The level must be the same across all ranks of parallelMng().

Implements Arcane::IVariableSynchronizerMng.

Definition at line 89 of file VariableSynchronizerMng.h.

◆ synchronizationCompareLevel()

Int32 Arcane::VariableSynchronizerMng::synchronizationCompareLevel ( ) const
inlinefinalvirtual

Comparison level of values before and after synchronization.

Implements Arcane::IVariableSynchronizerMng.

Definition at line 90 of file VariableSynchronizerMng.h.

Member Data Documentation

◆ m_internal_api

InternalApi Arcane::VariableSynchronizerMng::m_internal_api { this }
private

Definition at line 102 of file VariableSynchronizerMng.h.

◆ m_is_doing_stats

bool Arcane::VariableSynchronizerMng::m_is_doing_stats = false
private

Definition at line 106 of file VariableSynchronizerMng.h.

◆ m_on_synchronized

EventObservable<const VariableSynchronizerEventArgs&> Arcane::VariableSynchronizerMng::m_on_synchronized
private

Definition at line 103 of file VariableSynchronizerMng.h.

◆ m_parallel_mng

IParallelMng* Arcane::VariableSynchronizerMng::m_parallel_mng = nullptr
private

Definition at line 101 of file VariableSynchronizerMng.h.

◆ m_stats

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

Definition at line 104 of file VariableSynchronizerMng.h.

◆ m_synchronize_compare_level

Int32 Arcane::VariableSynchronizerMng::m_synchronize_compare_level = 0
private

Definition at line 105 of file VariableSynchronizerMng.h.

◆ m_variable_mng

IVariableMng* Arcane::VariableSynchronizerMng::m_variable_mng = nullptr
private

Definition at line 100 of file VariableSynchronizerMng.h.


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