Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ContigMachineShMemWinBase Class 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/ContigMachineShMemWinBase.h>

Collaboration diagram for Arcane::ContigMachineShMemWinBase:

Public Member Functions

 ContigMachineShMemWinBase (IParallelMng *pm, Int64 sizeof_segment, Int32 sizeof_elem)
 Constructor.
Span< std::byte > segmentView ()
 Method allowing retrieval of a view on our window segment memory.
Span< std::byte > segmentView (Int32 rank)
 Method allowing retrieval of a view on the window segment memory of another subdomain of the node.
Span< std::byte > windowView ()
 Method allowing retrieval of a view on the entire memory window.
Span< const std::byte > segmentConstView () const
 Method allowing retrieval of a constant view on our segment memory window.
Span< const std::byte > segmentConstView (Int32 rank) const
 Method allowing retrieval of a constant view on the segment of memory window of another subdomain of the node.
Span< const std::byte > windowConstView () const
 Method allowing retrieval of a constant view on the entire window memory.
void resizeSegment (Integer new_size)
 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

IParallelMngInternalm_pm_internal
Ref< MessagePassing::IContigMachineShMemWinBaseInternalm_node_window_base
Int32 m_sizeof_elem

Detailed Description

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.

Definition at line 47 of file ContigMachineShMemWinBase.h.

Constructor & Destructor Documentation

◆ ContigMachineShMemWinBase()

Arcane::ContigMachineShMemWinBase::ContigMachineShMemWinBase ( IParallelMng * pm,
Int64 sizeof_segment,
Int32 sizeof_elem )

Constructor.

Parameters
pmThe ParallelMng containing the node's processes.
sizeof_segmentThe size of the segment for this subdomain (in bytes).
sizeof_elemThe size of an element (in bytes).

Definition at line 33 of file ContigMachineShMemWinBase.cc.

Member Function Documentation

◆ barrier()

void Arcane::ContigMachineShMemWinBase::barrier ( ) const

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

Definition at line 115 of file ContigMachineShMemWinBase.cc.

◆ machineRanks()

ConstArrayView< Int32 > Arcane::ContigMachineShMemWinBase::machineRanks ( ) const

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 106 of file ContigMachineShMemWinBase.cc.

◆ resizeSegment()

void Arcane::ContigMachineShMemWinBase::resizeSegment ( Integer new_size)

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_sizeThe new size of our segment (in bytes).

Definition at line 97 of file ContigMachineShMemWinBase.cc.

◆ segmentConstView() [1/2]

Span< const std::byte > Arcane::ContigMachineShMemWinBase::segmentConstView ( ) const

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

Returns
A constant view.

Definition at line 70 of file ContigMachineShMemWinBase.cc.

◆ segmentConstView() [2/2]

Span< const std::byte > Arcane::ContigMachineShMemWinBase::segmentConstView ( Int32 rank) const

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 79 of file ContigMachineShMemWinBase.cc.

◆ segmentView() [1/2]

Span< std::byte > Arcane::ContigMachineShMemWinBase::segmentView ( )

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

Returns
A view.

Definition at line 43 of file ContigMachineShMemWinBase.cc.

◆ segmentView() [2/2]

Span< std::byte > Arcane::ContigMachineShMemWinBase::segmentView ( Int32 rank)

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 52 of file ContigMachineShMemWinBase.cc.

◆ windowConstView()

Span< const std::byte > Arcane::ContigMachineShMemWinBase::windowConstView ( ) const

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

Returns
A constant view.

Definition at line 88 of file ContigMachineShMemWinBase.cc.

◆ windowView()

Span< std::byte > Arcane::ContigMachineShMemWinBase::windowView ( )

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

Returns
A view.

Definition at line 61 of file ContigMachineShMemWinBase.cc.

Member Data Documentation

◆ m_node_window_base

Ref<MessagePassing::IContigMachineShMemWinBaseInternal> Arcane::ContigMachineShMemWinBase::m_node_window_base
private

Definition at line 141 of file ContigMachineShMemWinBase.h.

◆ m_pm_internal

IParallelMngInternal* Arcane::ContigMachineShMemWinBase::m_pm_internal
private

Definition at line 140 of file ContigMachineShMemWinBase.h.

◆ m_sizeof_elem

Int32 Arcane::ContigMachineShMemWinBase::m_sizeof_elem
private

Definition at line 142 of file ContigMachineShMemWinBase.h.


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