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

Public Member Functions

 Impl (SequentialParallelMng *pm)
Int32 masterParallelIORank () const override
Int32 nbSendersToMasterParallelIO () const override
void initializeWindowCreator () override
 Method allowing the initialization of the windowCreator specific to the implementation.
bool isMachineShMemWinAvailable () override
 Method allowing to know if shared memory mode is supported.
Ref< IContigMachineShMemWinBaseInternalcreateContigMachineShMemWinBase (Int64 sizeof_segment, Int32 sizeof_type) override
 Method allowing the creation of a memory window on the node.
Ref< IMachineShMemWinBaseInternalcreateMachineShMemWinBase (Int64 sizeof_segment, Int32 sizeof_type) override
 Method allowing the creation of a dynamic memory window on the node.
MemoryAllocationOptions machineShMemWinMemoryAllocator () override
 Method allowing retrieval of a shared memory allocator.
ConstArrayView< Int32machineRanks () override
 Method allowing retrieval of the ranks of the sub-domains of the computing node.
void machineBarrier () override
 Method allowing a barrier for the sub-domains of the computing node.
Public Member Functions inherited from Arcane::ParallelMngInternal
 ParallelMngInternal (ParallelMngDispatcher *pm)
Runner runner () const override
 Default runner. Can be null.
RunQueue queue () const override
 Default queue for messages. Can be null.
bool isAcceleratorAware () const override
 Indicates if the implementation handles accelerators.
Ref< IParallelMngcreateSubParallelMngRef (Int32 color, Int32 key) override
 Creates a sub IParallelMng similar to MPI_Comm_split.
void setDefaultRunner (const Runner &runner) override
Int32 masterParallelIORank () const override
Int32 nbSendersToMasterParallelIO () const override
void initializeWindowCreator () override
 Method allowing the initialization of the windowCreator specific to the implementation.
bool isMachineShMemWinAvailable () override
 Method allowing to know if shared memory mode is supported.
Ref< MessagePassing::IContigMachineShMemWinBaseInternalcreateContigMachineShMemWinBase (Int64 sizeof_segment, Int32 sizeof_type) override
 Method allowing the creation of a memory window on the node.
Ref< MessagePassing::IMachineShMemWinBaseInternalcreateMachineShMemWinBase (Int64 sizeof_segment, Int32 sizeof_type) override
 Method allowing the creation of a dynamic memory window on the node.
MemoryAllocationOptions machineShMemWinMemoryAllocator () override
 Method allowing retrieval of a shared memory allocator.
ConstArrayView< Int32machineRanks () override
 Method allowing retrieval of the ranks of the sub-domains of the computing node.
void machineBarrier () override
 Method allowing a barrier for the sub-domains of the computing node.

Private Attributes

Ref< MachineShMemWinMemoryAllocatorm_alloc
const Int32 m_rank = 0

Detailed Description

Definition at line 835 of file SequentialParallelMng.cc.

Constructor & Destructor Documentation

◆ Impl()

Arcane::SequentialParallelMng::Impl::Impl ( SequentialParallelMng * pm)
inlineexplicit

Definition at line 840 of file SequentialParallelMng.cc.

Member Function Documentation

◆ createContigMachineShMemWinBase()

Ref< IContigMachineShMemWinBaseInternal > Arcane::SequentialParallelMng::Impl::createContigMachineShMemWinBase ( Int64 sizeof_segment,
Int32 sizeof_type )
inlineoverridevirtual

Method allowing the creation of a memory window on the node.

Collective call.

Parameters
sizeof_segmentThe size of our segment (in bytes).
sizeof_typeThe size of a segment element (in bytes).
Returns
A reference to the new window.

Implements Arcane::IParallelMngInternal.

Definition at line 859 of file SequentialParallelMng.cc.

References Arcane::makeRef().

Here is the call graph for this function:

◆ createMachineShMemWinBase()

Ref< IMachineShMemWinBaseInternal > Arcane::SequentialParallelMng::Impl::createMachineShMemWinBase ( Int64 sizeof_segment,
Int32 sizeof_type )
inlineoverridevirtual

Method allowing the creation of a dynamic memory window on the node.

Collective call.

Parameters
sizeof_segmentThe initial size of our segment (in bytes).
sizeof_typeThe size of a segment element (in bytes).
Returns
A reference to the new window.

Implements Arcane::IParallelMngInternal.

Definition at line 864 of file SequentialParallelMng.cc.

References Arcane::makeRef().

Here is the call graph for this function:

◆ initializeWindowCreator()

void Arcane::SequentialParallelMng::Impl::initializeWindowCreator ( )
inlineoverridevirtual

Method allowing the initialization of the windowCreator specific to the implementation.

Collective call.

Implements Arcane::IParallelMngInternal.

Definition at line 852 of file SequentialParallelMng.cc.

◆ isMachineShMemWinAvailable()

bool Arcane::SequentialParallelMng::Impl::isMachineShMemWinAvailable ( )
inlineoverridevirtual

Method allowing to know if shared memory mode is supported.

Collective call.

Implements Arcane::IParallelMngInternal.

Definition at line 854 of file SequentialParallelMng.cc.

◆ machineBarrier()

void Arcane::SequentialParallelMng::Impl::machineBarrier ( )
inlineoverridevirtual

Method allowing a barrier for the sub-domains of the computing node.

Implements Arcane::IParallelMngInternal.

Definition at line 877 of file SequentialParallelMng.cc.

◆ machineRanks()

ConstArrayView< Int32 > Arcane::SequentialParallelMng::Impl::machineRanks ( )
inlineoverridevirtual

Method allowing retrieval of the ranks of the sub-domains of the computing node.

Non-collective call.

Implements Arcane::IParallelMngInternal.

Definition at line 873 of file SequentialParallelMng.cc.

◆ machineShMemWinMemoryAllocator()

MemoryAllocationOptions Arcane::SequentialParallelMng::Impl::machineShMemWinMemoryAllocator ( )
inlineoverridevirtual

Method allowing retrieval of a shared memory allocator.

Implements Arcane::IParallelMngInternal.

Definition at line 869 of file SequentialParallelMng.cc.

◆ masterParallelIORank()

Int32 Arcane::SequentialParallelMng::Impl::masterParallelIORank ( ) const
inlineoverridevirtual

Gives the writer in the case where parallel writing is possible (with MPI-IO for example).

Implements Arcane::IParallelMngInternal.

Definition at line 849 of file SequentialParallelMng.cc.

◆ nbSendersToMasterParallelIO()

Int32 Arcane::SequentialParallelMng::Impl::nbSendersToMasterParallelIO ( ) const
inlineoverridevirtual

Gives the number of procs that will send data to masterParallelIORank().

Implements Arcane::IParallelMngInternal.

Definition at line 850 of file SequentialParallelMng.cc.

Member Data Documentation

◆ m_alloc

Ref<MachineShMemWinMemoryAllocator> Arcane::SequentialParallelMng::Impl::m_alloc
private

Definition at line 881 of file SequentialParallelMng.cc.

◆ m_rank

const Int32 Arcane::SequentialParallelMng::Impl::m_rank = 0
private

Definition at line 882 of file SequentialParallelMng.cc.


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