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

Material variable synchronizer. More...

#include <arcane/materials/internal/MeshMaterialVariableSynchronizer.h>

Inheritance diagram for Arcane::Materials::MeshMaterialVariableSynchronizer:
Collaboration diagram for Arcane::Materials::MeshMaterialVariableSynchronizer:

Public Member Functions

 MeshMaterialVariableSynchronizer (IMeshMaterialMng *material_mng, IVariableSynchronizer *var_syncer, MatVarSpace mvs)
IVariableSynchronizervariableSynchronizer () override
 Associated classical variable synchronizer.
ConstArrayView< MatVarIndexsharedItems (Int32 index) override
 List of shared MatVarIndex for index rank index in the variableSynchronizer::communicatingRanks() array;.
ConstArrayView< MatVarIndexghostItems (Int32 index) override
 List of ghost MatVarIndex for index rank index in the variableSynchronizer::communicatingRanks() array;.
void recompute () override
 Recalculates synchronization information.
void checkRecompute () override
 Recalculates synchronization information if necessary.
Ref< IMeshMaterialSynchronizeBuffercommonBuffer () override
 Common buffer for messages.
eMemoryRessource bufferMemoryRessource () const override
 Memory resource to use for communication buffers.
void _fillCellsAccelerator (Array< MatVarIndex > &items, AllEnvCellVectorView view, RunQueue &queue)
 Fills items with the list of all MatVarIndex from the cells of view.
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 Member Functions

void _fillCells (Array< MatVarIndex > &items, AllEnvCellVectorView view, RunQueue &queue)
 Fills items with the list of all MatVarIndex from the cells of view.
void _fillCellsSequential (Array< MatVarIndex > &items, AllEnvCellVectorView view)
 Fills items with the list of all MatVarIndex from the cells of view.
void _initialize ()

Private Attributes

IMeshMaterialMngm_material_mng
IVariableSynchronizerm_variable_synchronizer
UniqueArray< UniqueArray< MatVarIndex > > m_shared_items
UniqueArray< UniqueArray< MatVarIndex > > m_ghost_items
Int64 m_timestamp
MatVarSpace m_var_space
Ref< IMeshMaterialSynchronizeBufferm_common_buffer
eMemoryRessource m_buffer_memory_ressource = eMemoryRessource::UnifiedMemory
Int32 m_use_accelerator_mode = -1

Additional Inherited Members

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

Detailed Description

Material variable synchronizer.

Definition at line 42 of file MeshMaterialVariableSynchronizer.h.

Constructor & Destructor Documentation

◆ MeshMaterialVariableSynchronizer()

Arcane::Materials::MeshMaterialVariableSynchronizer::MeshMaterialVariableSynchronizer ( IMeshMaterialMng * material_mng,
IVariableSynchronizer * var_syncer,
MatVarSpace mvs )

Definition at line 44 of file MeshMaterialVariableSynchronizer.cc.

Member Function Documentation

◆ _fillCells()

void Arcane::Materials::MeshMaterialVariableSynchronizer::_fillCells ( Array< MatVarIndex > & items,
AllEnvCellVectorView view,
RunQueue & queue )
private

Fills items with the list of all MatVarIndex from the cells of view.

Definition at line 95 of file MeshMaterialVariableSynchronizer.cc.

References _fillCellsAccelerator(), _fillCellsSequential(), Arcane::Array< T >::clear(), Arcane::Accelerator::RunQueue::isAcceleratorPolicy(), and Arcane::Materials::AllEnvCellVectorView::size().

Referenced by recompute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _fillCellsAccelerator()

void Arcane::Materials::MeshMaterialVariableSynchronizer::_fillCellsAccelerator ( Array< MatVarIndex > & items,
AllEnvCellVectorView view,
RunQueue & queue )

Fills items with the list of all MatVarIndex from the cells of view.

Definition at line 155 of file MeshMaterialVariableSynchronizer.cc.

References Arcane::Accelerator::RunQueue::allocationOptions(), Arcane::Accelerator::makeCommand(), Arcane::Materials::MaterialAndEnvironment, Arcane::Array< T >::resize(), RUNCOMMAND_LOOP1, Arcane::Materials::AllEnvCellVectorView::size(), and Arcane::Materials::AllEnvCell::subEnvItems().

Referenced by _fillCells().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _fillCellsSequential()

void Arcane::Materials::MeshMaterialVariableSynchronizer::_fillCellsSequential ( Array< MatVarIndex > & items,
AllEnvCellVectorView view )
private

Fills items with the list of all MatVarIndex from the cells of view.

Definition at line 128 of file MeshMaterialVariableSynchronizer.cc.

References Arcane::Array< T >::add(), ENUMERATE_ALLENVCELL, Arcane::Materials::MaterialAndEnvironment, and Arcane::Materials::AllEnvCell::subEnvItems().

Referenced by _fillCells().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _initialize()

void Arcane::Materials::MeshMaterialVariableSynchronizer::_initialize ( )
private

Definition at line 302 of file MeshMaterialVariableSynchronizer.cc.

◆ bufferMemoryRessource()

eMemoryRessource Arcane::Materials::MeshMaterialVariableSynchronizer::bufferMemoryRessource ( ) const
inlineoverridevirtual

Memory resource to use for communication buffers.

Implements Arcane::Materials::IMeshMaterialVariableSynchronizer.

Definition at line 60 of file MeshMaterialVariableSynchronizer.h.

◆ checkRecompute()

void Arcane::Materials::MeshMaterialVariableSynchronizer::checkRecompute ( )
overridevirtual

Recalculates synchronization information if necessary.

Implements Arcane::Materials::IMeshMaterialVariableSynchronizer.

Definition at line 227 of file MeshMaterialVariableSynchronizer.cc.

References recompute().

Here is the call graph for this function:

◆ commonBuffer()

Ref< IMeshMaterialSynchronizeBuffer > Arcane::Materials::MeshMaterialVariableSynchronizer::commonBuffer ( )
inlineoverridevirtual

Common buffer for messages.

Implements Arcane::Materials::IMeshMaterialVariableSynchronizer.

Definition at line 59 of file MeshMaterialVariableSynchronizer.h.

◆ ghostItems()

ConstArrayView< MatVarIndex > Arcane::Materials::MeshMaterialVariableSynchronizer::ghostItems ( Int32 index)
overridevirtual

List of ghost MatVarIndex for index rank index in the variableSynchronizer::communicatingRanks() array;.

Implements Arcane::Materials::IMeshMaterialVariableSynchronizer.

Definition at line 83 of file MeshMaterialVariableSynchronizer.cc.

◆ recompute()

void Arcane::Materials::MeshMaterialVariableSynchronizer::recompute ( )
overridevirtual

Recalculates synchronization information.

Implements Arcane::Materials::IMeshMaterialVariableSynchronizer.

Definition at line 239 of file MeshMaterialVariableSynchronizer.cc.

References _fillCells(), Arcane::IItemFamily::allItems(), Arcane::Accelerator::RunQueue::allocationOptions(), Arcane::IVariableSynchronizer::communicatingRanks(), Arcane::IVariableSynchronizer::ghostItems(), Arcane::TraceAccessor::info(), Arcane::IParallelMng::isParallel(), Arcane::ItemGroup::itemFamily(), Arcane::IVariableSynchronizer::itemGroup(), Arcane::IVariableSynchronizer::parallelMng(), Arcane::IVariableSynchronizer::sharedItems(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), and Arcane::IItemFamily::view().

Referenced by checkRecompute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ sharedItems()

ConstArrayView< MatVarIndex > Arcane::Materials::MeshMaterialVariableSynchronizer::sharedItems ( Int32 index)
overridevirtual

List of shared MatVarIndex for index rank index in the variableSynchronizer::communicatingRanks() array;.

Implements Arcane::Materials::IMeshMaterialVariableSynchronizer.

Definition at line 74 of file MeshMaterialVariableSynchronizer.cc.

◆ variableSynchronizer()

IVariableSynchronizer * Arcane::Materials::MeshMaterialVariableSynchronizer::variableSynchronizer ( )
overridevirtual

Associated classical variable synchronizer.

Implements Arcane::Materials::IMeshMaterialVariableSynchronizer.

Definition at line 65 of file MeshMaterialVariableSynchronizer.cc.

Member Data Documentation

◆ m_buffer_memory_ressource

eMemoryRessource Arcane::Materials::MeshMaterialVariableSynchronizer::m_buffer_memory_ressource = eMemoryRessource::UnifiedMemory
private

Definition at line 71 of file MeshMaterialVariableSynchronizer.h.

◆ m_common_buffer

Ref<IMeshMaterialSynchronizeBuffer> Arcane::Materials::MeshMaterialVariableSynchronizer::m_common_buffer
private

Definition at line 70 of file MeshMaterialVariableSynchronizer.h.

◆ m_ghost_items

UniqueArray<UniqueArray<MatVarIndex> > Arcane::Materials::MeshMaterialVariableSynchronizer::m_ghost_items
private

Definition at line 67 of file MeshMaterialVariableSynchronizer.h.

◆ m_material_mng

IMeshMaterialMng* Arcane::Materials::MeshMaterialVariableSynchronizer::m_material_mng
private

Definition at line 64 of file MeshMaterialVariableSynchronizer.h.

◆ m_shared_items

UniqueArray<UniqueArray<MatVarIndex> > Arcane::Materials::MeshMaterialVariableSynchronizer::m_shared_items
private

Definition at line 66 of file MeshMaterialVariableSynchronizer.h.

◆ m_timestamp

Int64 Arcane::Materials::MeshMaterialVariableSynchronizer::m_timestamp
private

Definition at line 68 of file MeshMaterialVariableSynchronizer.h.

◆ m_use_accelerator_mode

Int32 Arcane::Materials::MeshMaterialVariableSynchronizer::m_use_accelerator_mode = -1
private

Definition at line 73 of file MeshMaterialVariableSynchronizer.h.

◆ m_var_space

MatVarSpace Arcane::Materials::MeshMaterialVariableSynchronizer::m_var_space
private

Definition at line 69 of file MeshMaterialVariableSynchronizer.h.

◆ m_variable_synchronizer

IVariableSynchronizer* Arcane::Materials::MeshMaterialVariableSynchronizer::m_variable_synchronizer
private

Definition at line 65 of file MeshMaterialVariableSynchronizer.h.


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