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

Class allowing access to the shared memory part between sub-domains of the same node of a variable. More...

#include <arcane/core/internal/MachineShMemWinVariableBase.h>

Inheritance diagram for Arcane::MachineShMemWinVariableBase:
Collaboration diagram for Arcane::MachineShMemWinVariableBase:

Public Member Functions

 MachineShMemWinVariableBase (IVariable *var)
 Constructor.
ConstArrayView< Int32machineRanks () const
 Method allowing retrieval of the ranks that possess a segment in the window.
void barrier () const
 Method allowing waiting until all processes/threads of the node call this method to continue execution.
Span< std::byte > segmentView (Int32 rank) const
 Method allowing retrieval of a view on the segment of another sub-domain of the node.
void updateVariable (Int64 nb_elem_dim1, Int64 sizeof_elem)

Protected Attributes

IVariablem_var = nullptr
IParallelMngm_pm = nullptr
ConstArrayView< Int32m_machine_ranks
impl::HashTableMap2< Int32, Int64m_sizeof_var

Detailed Description

Class allowing access to the shared memory part between sub-domains of the same node of a variable.

It is necessary that this variable be allocated in shared memory with the property "IVariable::PInShMem".

Definition at line 40 of file MachineShMemWinVariableBase.h.

Constructor & Destructor Documentation

◆ MachineShMemWinVariableBase()

Arcane::MachineShMemWinVariableBase::MachineShMemWinVariableBase ( IVariable * var)
explicit

Constructor.

Parameters
varVariable having the property "IVariable::PInShMem".

Definition at line 45 of file MachineShMemWinVariableBase.cc.

References Arcane::IVariable::PInShMem.

Referenced by Arcane::MachineShMemWinVariable2DBase::MachineShMemWinVariable2DBase(), and Arcane::MachineShMemWinVariableMDBase::MachineShMemWinVariableMDBase().

Here is the caller graph for this function:

Member Function Documentation

◆ barrier()

void Arcane::MachineShMemWinVariableBase::barrier ( ) const

Method allowing waiting until all processes/threads of the node call this method to continue execution.

Definition at line 74 of file MachineShMemWinVariableBase.cc.

◆ machineRanks()

ConstArrayView< Int32 > Arcane::MachineShMemWinVariableBase::machineRanks ( ) const

Method allowing retrieval of the ranks that possess a segment in the window.

Non-collective call.

Returns
A view containing the rank IDs.

Definition at line 65 of file MachineShMemWinVariableBase.cc.

◆ segmentView()

Span< std::byte > Arcane::MachineShMemWinVariableBase::segmentView ( Int32 rank) const

Method allowing retrieval of a view on the segment of another sub-domain of the node.

Non-collective call.

Parameters
rankThe rank of the sub-domain.
Returns
A view.

Definition at line 83 of file MachineShMemWinVariableBase.cc.

References ARCANE_FATAL, and Arcane::AllocatedMemoryInfo::baseAddress().

Here is the call graph for this function:

◆ updateVariable()

void Arcane::MachineShMemWinVariableBase::updateVariable ( Int64 nb_elem_dim1,
Int64 sizeof_elem )
Parameters
nb_elem_dim1In number of elements
sizeof_elemIn bytes

Definition at line 98 of file MachineShMemWinVariableBase.cc.

References Arcane::ContigMachineShMemWin< Type >::barrier(), Arcane::ContigMachineShMemWin< Type >::segmentView(), and Arcane::ContigMachineShMemWin< Type >::windowConstView().

Here is the call graph for this function:

Member Data Documentation

◆ m_machine_ranks

ConstArrayView<Int32> Arcane::MachineShMemWinVariableBase::m_machine_ranks
protected

Definition at line 92 of file MachineShMemWinVariableBase.h.

◆ m_pm

IParallelMng* Arcane::MachineShMemWinVariableBase::m_pm = nullptr
protected

Definition at line 90 of file MachineShMemWinVariableBase.h.

◆ m_sizeof_var

impl::HashTableMap2<Int32, Int64> Arcane::MachineShMemWinVariableBase::m_sizeof_var
protected

Definition at line 95 of file MachineShMemWinVariableBase.h.

◆ m_var

IVariable* Arcane::MachineShMemWinVariableBase::m_var = nullptr
protected

Definition at line 89 of file MachineShMemWinVariableBase.h.


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