Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal Class Reference
Inheritance diagram for Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal:
Collaboration diagram for Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal:

Public Member Functions

 HybridContigMachineShMemWinBaseInternal (Int32 my_rank_mpi, Int32 my_rank_local_proc, Int32 nb_rank_local_proc, ConstArrayView< Int32 > ranks, Int32 sizeof_type, Ref< IContigMachineShMemWinBaseInternal > nb_elem, Ref< IContigMachineShMemWinBaseInternal > sum_nb_elem, Ref< IContigMachineShMemWinBaseInternal > mpi_window, IThreadBarrier *barrier)
Int32 sizeofOneElem () const override
 Method allowing the retrieval of the size of an element in the window.
Span< std::byte > segmentView () override
 Method allowing the retrieval of a view of its segment.
Span< std::byte > segmentView (Int32 rank) override
 Method allowing the retrieval of a view of the segment of another subdomain of the node.
Span< std::byte > windowView () override
 Method allowing the retrieval of a view of the entire window.
Span< const std::byte > segmentConstView () const override
 Method allowing the retrieval of a view of its segment.
Span< const std::byte > segmentConstView (Int32 rank) const override
 Method allowing the retrieval of a view of the segment of another subdomain of the node.
Span< const std::byte > windowConstView () const override
 Method allowing the retrieval of a view of the entire window.
void resizeSegment (Int64 new_sizeof_segment) override
 Method allowing the resizing of the window segments.
ConstArrayView< Int32machineRanks () const override
 Method allowing the retrieval of the ranks that possess a segment in the window.
void barrier () const override
 Method allowing waiting until all processes/threads of the node call this method to continue execution.

Private Attributes

Int32 m_my_rank_local_proc = 0
Int32 m_nb_rank_local_proc = 0
Int32 m_my_rank_mpi = 0
ConstArrayView< Int32m_machine_ranks
Int32 m_sizeof_type = 0
Ref< IContigMachineShMemWinBaseInternalm_mpi_window
Ref< IContigMachineShMemWinBaseInternalm_sizeof_sub_segments_global
Ref< IContigMachineShMemWinBaseInternalm_sum_sizeof_sub_segments_global
Span< Int64m_sizeof_sub_segments_local_proc
Span< Int64m_sum_sizeof_sub_segments_local_proc
IThreadBarrierm_thread_barrier = nullptr

Detailed Description

Definition at line 33 of file HybridContigMachineShMemWinBaseInternal.h.

Constructor & Destructor Documentation

◆ HybridContigMachineShMemWinBaseInternal()

Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::HybridContigMachineShMemWinBaseInternal ( Int32 my_rank_mpi,
Int32 my_rank_local_proc,
Int32 nb_rank_local_proc,
ConstArrayView< Int32 > ranks,
Int32 sizeof_type,
Ref< IContigMachineShMemWinBaseInternal > nb_elem,
Ref< IContigMachineShMemWinBaseInternal > sum_nb_elem,
Ref< IContigMachineShMemWinBaseInternal > mpi_window,
IThreadBarrier * barrier )

Definition at line 31 of file HybridContigMachineShMemWinBaseInternal.cc.

Member Function Documentation

◆ barrier()

void Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::barrier ( ) const
overridevirtual

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

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 187 of file HybridContigMachineShMemWinBaseInternal.cc.

◆ machineRanks()

ConstArrayView< Int32 > Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::machineRanks ( ) const
overridevirtual

Method allowing the 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 the segments in the window.

Returns
A view containing the rank IDs.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 178 of file HybridContigMachineShMemWinBaseInternal.cc.

◆ resizeSegment()

void Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::resizeSegment ( Int64 new_sizeof_segment)
overridevirtual

Method allowing the 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_sizeof_segmentThe new size of our segment (in bytes).

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 157 of file HybridContigMachineShMemWinBaseInternal.cc.

◆ segmentConstView() [1/2]

Span< const std::byte > Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::segmentConstView ( ) const
overridevirtual

Method allowing the retrieval of a view of its segment.

Returns
A view.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 108 of file HybridContigMachineShMemWinBaseInternal.cc.

References Arcane::Span< T, Extent >::subSpan().

Here is the call graph for this function:

◆ segmentConstView() [2/2]

Span< const std::byte > Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::segmentConstView ( Int32 rank) const
overridevirtual

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

Parameters
rankThe rank of the subdomain.
Returns
A view.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 121 of file HybridContigMachineShMemWinBaseInternal.cc.

References Arcane::asSpan(), and Arcane::Span< T, Extent >::subSpan().

Here is the call graph for this function:

◆ segmentView() [1/2]

Span< std::byte > Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::segmentView ( )
overridevirtual

Method allowing the retrieval of a view of its segment.

Returns
A view.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 59 of file HybridContigMachineShMemWinBaseInternal.cc.

References Arcane::Span< T, Extent >::subSpan().

Here is the call graph for this function:

◆ segmentView() [2/2]

Span< std::byte > Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::segmentView ( Int32 rank)
overridevirtual

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

Parameters
rankThe rank of the subdomain.
Returns
A view.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 72 of file HybridContigMachineShMemWinBaseInternal.cc.

References Arcane::asSpan(), and Arcane::Span< T, Extent >::subSpan().

Here is the call graph for this function:

◆ sizeofOneElem()

Int32 Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::sizeofOneElem ( ) const
overridevirtual

Method allowing the retrieval of the size of an element in the window.

Returns
The size of an element.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 50 of file HybridContigMachineShMemWinBaseInternal.cc.

◆ windowConstView()

Span< const std::byte > Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::windowConstView ( ) const
overridevirtual

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

Returns
A view.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 148 of file HybridContigMachineShMemWinBaseInternal.cc.

◆ windowView()

Span< std::byte > Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::windowView ( )
overridevirtual

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

Returns
A view.

Implements Arcane::MessagePassing::IContigMachineShMemWinBaseInternal.

Definition at line 99 of file HybridContigMachineShMemWinBaseInternal.cc.

Member Data Documentation

◆ m_machine_ranks

ConstArrayView<Int32> Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_machine_ranks
private

Definition at line 65 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_mpi_window

Ref<IContigMachineShMemWinBaseInternal> Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_mpi_window
private

Definition at line 67 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_my_rank_local_proc

Int32 Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_my_rank_local_proc = 0
private

Definition at line 62 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_my_rank_mpi

Int32 Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_my_rank_mpi = 0
private

Definition at line 64 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_nb_rank_local_proc

Int32 Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_nb_rank_local_proc = 0
private

Definition at line 63 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_sizeof_sub_segments_global

Ref<IContigMachineShMemWinBaseInternal> Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_sizeof_sub_segments_global
private

Definition at line 68 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_sizeof_sub_segments_local_proc

Span<Int64> Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_sizeof_sub_segments_local_proc
private

Definition at line 70 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_sizeof_type

Int32 Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_sizeof_type = 0
private

Definition at line 66 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_sum_sizeof_sub_segments_global

Ref<IContigMachineShMemWinBaseInternal> Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_sum_sizeof_sub_segments_global
private

Definition at line 69 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_sum_sizeof_sub_segments_local_proc

Span<Int64> Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_sum_sizeof_sub_segments_local_proc
private

Definition at line 71 of file HybridContigMachineShMemWinBaseInternal.h.

◆ m_thread_barrier

IThreadBarrier* Arcane::MessagePassing::HybridContigMachineShMemWinBaseInternal::m_thread_barrier = nullptr
private

Definition at line 72 of file HybridContigMachineShMemWinBaseInternal.h.


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