Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::MachineShMemWinVariable2DBase 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::MachineShMemWinVariable2DBase:
Collaboration diagram for Arcane::MachineShMemWinVariable2DBase:

Public Member Functions

 MachineShMemWinVariable2DBase (IVariable *var)
 Constructor.
void updateVariable (Int64 nb_elem_dim1, Int64 nb_elem_dim2, Int64 sizeof_elem)
Int64 nbElemDim1 (const Int32 rank) const
Int64 nbElemDim2 (const Int32 rank) 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
impl::HashTableMap2< Int32, Int64m_nb_elem_dim2

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, the two dimensions can be different for each sub-domain.

Definition at line 114 of file MachineShMemWinVariableBase.h.

Constructor & Destructor Documentation

◆ MachineShMemWinVariable2DBase()

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

Constructor.

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

Definition at line 118 of file MachineShMemWinVariableBase.cc.

References Arcane::MachineShMemWinVariableBase::MachineShMemWinVariableBase().

Here is the call graph for this function:

Member Function Documentation

◆ nbElemDim1()

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

Definition at line 136 of file MachineShMemWinVariableBase.h.

◆ nbElemDim2()

Int64 Arcane::MachineShMemWinVariable2DBase::nbElemDim2 ( const Int32 rank) const
inline

Definition at line 137 of file MachineShMemWinVariableBase.h.

◆ updateVariable()

void Arcane::MachineShMemWinVariable2DBase::updateVariable ( Int64 nb_elem_dim1,
Int64 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 129 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::MachineShMemWinVariable2DBase::m_nb_elem_dim1
private

Definition at line 142 of file MachineShMemWinVariableBase.h.

◆ m_nb_elem_dim2

impl::HashTableMap2<Int32, Int64> Arcane::MachineShMemWinVariable2DBase::m_nb_elem_dim2
private

Definition at line 143 of file MachineShMemWinVariableBase.h.


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