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>
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< Int32 > | machineRanks () 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, Int64 > | m_nb_elem_dim1 |
Additional Inherited Members | |
| Protected Attributes inherited from Arcane::MachineShMemWinVariableBase | |
| IVariable * | m_var = nullptr |
| IParallelMng * | m_pm = nullptr |
| ConstArrayView< Int32 > | m_machine_ranks |
| impl::HashTableMap2< Int32, Int64 > | m_sizeof_var |
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.
|
explicit |
Constructor.
| var | Variable having the property "IVariable::PInShMem". |
Definition at line 159 of file MachineShMemWinVariableBase.cc.
References Arcane::MachineShMemWinVariableBase::MachineShMemWinVariableBase().
| ArrayShape Arcane::MachineShMemWinVariableMDBase::arrayShape | ( | ) | const |
Definition at line 191 of file MachineShMemWinVariableBase.cc.
Definition at line 185 of file MachineShMemWinVariableBase.h.
| void Arcane::MachineShMemWinVariableMDBase::updateVariable | ( | Int64 | nb_elem_dim1, |
| Int32 | nb_elem_dim2, | ||
| Int64 | sizeof_elem ) |
| nb_elem_dim1 | In number of elements |
| nb_elem_dim2 | In number of elements |
| sizeof_elem | In bytes |
Definition at line 169 of file MachineShMemWinVariableBase.cc.
References Arcane::ContigMachineShMemWin< Type >::barrier(), Arcane::ContigMachineShMemWin< Type >::segmentView(), and Arcane::ContigMachineShMemWin< Type >::windowConstView().
|
private |
Definition at line 191 of file MachineShMemWinVariableBase.h.