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

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

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

Inheritance diagram for Arcane::MachineShMemWinVariableMDBase:
Collaboration diagram for Arcane::MachineShMemWinVariableMDBase:

Public Member Functions

 MachineShMemWinVariableMDBase (IVariable *var)
 Constructor.
void updateVariable (Int64 nb_elem_dim1, Int32 nb_elem_dim2, Int64 sizeof_elem)
Int64 nbElemDim1 (const Int32 rank) const
ArrayShape arrayShape () const
Public Member Functions inherited from Arcane::MachineShMemWinVariableBase
 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)

Private Attributes

impl::HashTableMap2< Int32, Int64m_nb_elem_dim1

Additional Inherited Members

Protected Attributes inherited from Arcane::MachineShMemWinVariableBase
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 2D array variable.

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

In this class, only the first dimension can be different for each sub-domain. The second dimension must be the same for all sub-domains.

Definition at line 163 of file MachineShMemWinVariableBase.h.

Constructor & Destructor Documentation

◆ MachineShMemWinVariableMDBase()

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

Constructor.

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

Definition at line 159 of file MachineShMemWinVariableBase.cc.

References Arcane::MachineShMemWinVariableBase::MachineShMemWinVariableBase().

Here is the call graph for this function:

Member Function Documentation

◆ arrayShape()

ArrayShape Arcane::MachineShMemWinVariableMDBase::arrayShape ( ) const

Definition at line 191 of file MachineShMemWinVariableBase.cc.

◆ nbElemDim1()

Int64 Arcane::MachineShMemWinVariableMDBase::nbElemDim1 ( const Int32 rank) const
inline

Definition at line 185 of file MachineShMemWinVariableBase.h.

◆ updateVariable()

void Arcane::MachineShMemWinVariableMDBase::updateVariable ( Int64 nb_elem_dim1,
Int32 nb_elem_dim2,
Int64 sizeof_elem )
Parameters
nb_elem_dim1In number of elements
nb_elem_dim2In number of elements
sizeof_elemIn bytes

Definition at line 169 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_nb_elem_dim1

impl::HashTableMap2<Int32, Int64> Arcane::MachineShMemWinVariableMDBase::m_nb_elem_dim1
private

Definition at line 191 of file MachineShMemWinVariableBase.h.


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