Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ContigMachineShMemWin< Type > Class Template Reference

Class allowing the creation of a shared memory window between the subdomains of the same node. The segments of this window will be contiguous in memory. More...

#include <arcane/core/ContigMachineShMemWin.h>

Collaboration diagram for Arcane::ContigMachineShMemWin< Type >:

Public Member Functions

 ContigMachineShMemWin (IParallelMng *pm, Int64 nb_elem_segment)
 Constructor.
Span< TypesegmentView ()
 Method allowing retrieval of a view on our window segment memory.
Span< TypesegmentView (Int32 rank)
 Method allowing retrieval of a view on the window segment memory of another subdomain of the node.
Span< TypewindowView ()
 Method allowing retrieval of a view on the entire memory window.
Span< const TypesegmentConstView () const
 Method allowing retrieval of a constant view on our segment memory window.
Span< const TypesegmentConstView (Int32 rank) const
 Method allowing retrieval of a constant view on the segment of memory window of another subdomain of the node.
Span< const TypewindowConstView () const
 Method allowing retrieval of a constant view on the entire window memory.
void resizeSegment (Integer new_nb_elem)
 Method allowing resizing of the window segments. Collective call.
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.

Private Attributes

ContigMachineShMemWinBase m_impl

Detailed Description

template<class Type>
class Arcane::ContigMachineShMemWin< Type >

Class allowing the creation of a shared memory window between the subdomains of the same node. The segments of this window will be contiguous in memory.

Template Parameters
TypeThe type of the window elements.

Definition at line 40 of file ContigMachineShMemWin.h.

Constructor & Destructor Documentation

◆ ContigMachineShMemWin()

template<class Type>
Arcane::ContigMachineShMemWin< Type >::ContigMachineShMemWin ( IParallelMng * pm,
Int64 nb_elem_segment )
inline

Constructor.

Parameters
pmThe ParallelMng containing the node processes.
nb_elem_segmentThe number of elements for the segment of this subdomain.

Definition at line 49 of file ContigMachineShMemWin.h.

Member Function Documentation

◆ barrier()

template<class Type>
void Arcane::ContigMachineShMemWin< Type >::barrier ( ) const
inline

Method allowing waiting until all processes/threads of the node call this method to continue execution.

Definition at line 153 of file ContigMachineShMemWin.h.

Referenced by Arcane::MachineShMemWinVariable2DBase::updateVariable(), Arcane::MachineShMemWinVariableBase::updateVariable(), and Arcane::MachineShMemWinVariableMDBase::updateVariable().

Here is the caller graph for this function:

◆ machineRanks()

template<class Type>
ConstArrayView< Int32 > Arcane::ContigMachineShMemWin< Type >::machineRanks ( ) const
inline

Method allowing retrieval of the ranks that possess a segment in the window.

The order of the processes in the returned view corresponds to the order of segments in the window.

Returns
A view containing the rank IDs.

Definition at line 144 of file ContigMachineShMemWin.h.

◆ resizeSegment()

template<class Type>
void Arcane::ContigMachineShMemWin< Type >::resizeSegment ( Integer new_nb_elem)
inline

Method allowing resizing of the window segments. Collective call.

The total size of the window must be less than or equal to the original size.

Parameters
new_nb_elemThe new size of our segment.

Definition at line 130 of file ContigMachineShMemWin.h.

◆ segmentConstView() [1/2]

template<class Type>
Span< const Type > Arcane::ContigMachineShMemWin< Type >::segmentConstView ( ) const
inline

Method allowing retrieval of a constant view on our segment memory window.

Returns
A constant view.

Definition at line 94 of file ContigMachineShMemWin.h.

References Arcane::asSpan().

Here is the call graph for this function:

◆ segmentConstView() [2/2]

template<class Type>
Span< const Type > Arcane::ContigMachineShMemWin< Type >::segmentConstView ( Int32 rank) const
inline

Method allowing retrieval of a constant view on the segment of memory window of another subdomain of the node.

Parameters
rankThe rank of the subdomain.
Returns
A constant view.

Definition at line 106 of file ContigMachineShMemWin.h.

References Arcane::asSpan().

Here is the call graph for this function:

◆ segmentView() [1/2]

template<class Type>
Span< Type > Arcane::ContigMachineShMemWin< Type >::segmentView ( )
inline

Method allowing retrieval of a view on our window segment memory.

Returns
A view.

Definition at line 61 of file ContigMachineShMemWin.h.

References Arcane::asSpan().

Referenced by Arcane::MachineShMemWinVariable2DBase::updateVariable(), Arcane::MachineShMemWinVariableBase::updateVariable(), and Arcane::MachineShMemWinVariableMDBase::updateVariable().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ segmentView() [2/2]

template<class Type>
Span< Type > Arcane::ContigMachineShMemWin< Type >::segmentView ( Int32 rank)
inline

Method allowing retrieval of a view on the window segment memory of another subdomain of the node.

Parameters
rankThe rank of the subdomain.
Returns
A view.

Definition at line 73 of file ContigMachineShMemWin.h.

References Arcane::asSpan().

Here is the call graph for this function:

◆ windowConstView()

template<class Type>
Span< const Type > Arcane::ContigMachineShMemWin< Type >::windowConstView ( ) const
inline

Method allowing retrieval of a constant view on the entire window memory.

Returns
A constant view.

Definition at line 117 of file ContigMachineShMemWin.h.

References Arcane::asSpan().

Referenced by Arcane::MachineShMemWinVariable2DBase::updateVariable(), Arcane::MachineShMemWinVariableBase::updateVariable(), and Arcane::MachineShMemWinVariableMDBase::updateVariable().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ windowView()

template<class Type>
Span< Type > Arcane::ContigMachineShMemWin< Type >::windowView ( )
inline

Method allowing retrieval of a view on the entire memory window.

Returns
A view.

Definition at line 83 of file ContigMachineShMemWin.h.

References Arcane::asSpan().

Here is the call graph for this function:

Member Data Documentation

◆ m_impl

Definition at line 160 of file ContigMachineShMemWin.h.


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