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>
Public Member Functions | |
| 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) |
Protected Attributes | |
| 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 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.
|
explicit |
Constructor.
| var | Variable 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().
| 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.
| ConstArrayView< Int32 > Arcane::MachineShMemWinVariableBase::machineRanks | ( | ) | const |
Method allowing retrieval of the ranks that possess a segment in the window.
Non-collective call.
Definition at line 65 of file MachineShMemWinVariableBase.cc.
Method allowing retrieval of a view on the segment of another sub-domain of the node.
Non-collective call.
| rank | The rank of the sub-domain. |
Definition at line 83 of file MachineShMemWinVariableBase.cc.
References ARCANE_FATAL, and Arcane::AllocatedMemoryInfo::baseAddress().
| nb_elem_dim1 | In number of elements |
| sizeof_elem | In bytes |
Definition at line 98 of file MachineShMemWinVariableBase.cc.
References Arcane::ContigMachineShMemWin< Type >::barrier(), Arcane::ContigMachineShMemWin< Type >::segmentView(), and Arcane::ContigMachineShMemWin< Type >::windowConstView().
|
protected |
Definition at line 92 of file MachineShMemWinVariableBase.h.
|
protected |
Definition at line 90 of file MachineShMemWinVariableBase.h.
|
protected |
Definition at line 95 of file MachineShMemWinVariableBase.h.
|
protected |
Definition at line 89 of file MachineShMemWinVariableBase.h.