Class allowing access to shared elements of the variable in shared memory. More...
#include <arcane/core/MachineShMemWinVariable.h>
Public Member Functions | |
| ConstArrayView< Int32 > | machineRanks () const |
| Method to get the ranks that possess a segment in the window. | |
| void | barrier () const |
| Method to wait until all processes/threads on the node call this method to continue execution. | |
| MDSpan< DataType, typename MDDimType< Extents::rank()+1 >::DimType > | view (Int32 rank) const |
| Method to get a view of the variable from another subdomain on the node. | |
| MDSpan< DataType, Extents > | operator() (Int32 rank, Int32 notlocal_id) |
| Method to get the multi-dimensional array of an item from another subdomain. | |
| void | updateVariable () |
| Method to update this object after a change in the mesh and/or after a resizing of the variable. | |
Protected Member Functions | |
| MachineShMemWinMDVariableT (MeshVariableArrayRefT< ItemType, DataType > var) | |
| Constructor. | |
Class allowing access to shared elements of the variable in shared memory.
This class cannot be used directly. It is necessary to use one of the following classes:
Definition at line 437 of file MachineShMemWinVariable.h.
|
explicitprotected |
Constructor.
| var | Variable having the property "IVariable::PInShMem". |
Definition at line 313 of file MachineShMemWinVariable.cc.
References Arcane::makeRef(), and updateVariable().
Referenced by Arcane::MachineShMemWinMeshMDVariableT< ItemType, DataType, Extents >::MachineShMemWinMeshMDVariableT().
| void Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::barrier | ( | ) | const |
Method to wait until all processes/threads on the node call this method to continue execution.
Definition at line 342 of file MachineShMemWinVariable.cc.
| ConstArrayView< Int32 > Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::machineRanks | ( | ) | const |
Method to get the ranks that possess a segment in the window.
Non-collective call.
Definition at line 332 of file MachineShMemWinVariable.cc.
| MDSpan< DataType, Extents > Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::operator() | ( | Int32 | rank, |
| Int32 | notlocal_id ) |
Method to get the multi-dimensional array of an item from another subdomain.
Non-collective call.
| rank | The rank of the targeted variable's subdomain. |
| notlocal_id | The local_id of the subdomain rank. |
Definition at line 379 of file MachineShMemWinVariable.cc.
References Arcane::asSpan(), and Arcane::SpanImpl< T, SizeType, Extent >::data().
| void Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::updateVariable | ( | ) |
Method to update this object after a change in the mesh and/or after a resizing of the variable.
Collective call.
Definition at line 393 of file MachineShMemWinVariable.cc.
References Arcane::SpanImpl< T, SizeType, Extent >::copy().
Referenced by MachineShMemWinMDVariableT().
| MDSpan< DataType, typename MDDimType< Extents::rank()+1 >::DimType > Arcane::MachineShMemWinMDVariableT< ItemType, DataType, Extents >::view | ( | Int32 | rank | ) | const |
Method to get a view of the variable from another subdomain on the node.
The first index corresponds to the local_id, the other indices are the position of the element in the item array.
Non-collective call.
| rank | The subdomain rank. |
Definition at line 352 of file MachineShMemWinVariable.cc.
References ARCANE_FATAL, Arcane::asSpan(), and Arcane::SpanImpl< T, SizeType, Extent >::data().