Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::IParallelMngInternal Class Referenceabstract

Internal part of IParallelMng. More...

#include <arcane/core/internal/IParallelMngInternal.h>

Inheritance diagram for Arcane::IParallelMngInternal:
Collaboration diagram for Arcane::IParallelMngInternal:

Public Member Functions

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

Detailed Description

Internal part of IParallelMng.

Definition at line 41 of file IParallelMngInternal.h.

Member Function Documentation

◆ createContigMachineShMemWinBase()

virtual Ref< MessagePassing::IContigMachineShMemWinBaseInternal > Arcane::IParallelMngInternal::createContigMachineShMemWinBase ( Int64 sizeof_segment,
Int32 sizeof_type )
pure virtual

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.

Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.

◆ createMachineShMemWinBase()

virtual Ref< MessagePassing::IMachineShMemWinBaseInternal > Arcane::IParallelMngInternal::createMachineShMemWinBase ( Int64 sizeof_segment,
Int32 sizeof_type )
pure virtual

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.

Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.

◆ createSubParallelMngRef()

virtual Ref< IParallelMng > Arcane::IParallelMngInternal::createSubParallelMngRef ( Int32 color,
Int32 key )
pure virtual

Creates a sub IParallelMng similar to MPI_Comm_split.

Implemented in Arcane::ParallelMngInternal.

References runner().

Here is the call graph for this function:

◆ initializeWindowCreator()

virtual void Arcane::IParallelMngInternal::initializeWindowCreator ( )
pure virtual

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

Collective call.

Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.

◆ isAcceleratorAware()

virtual bool Arcane::IParallelMngInternal::isAcceleratorAware ( ) const
pure virtual

Indicates if the implementation handles accelerators.

If so, the accelerator memory can be used directly in MPI calls, which avoids potential re-copies.

Implemented in Arcane::ParallelMngInternal.

◆ isMachineShMemWinAvailable()

virtual bool Arcane::IParallelMngInternal::isMachineShMemWinAvailable ( )
pure virtual

Method allowing to know if shared memory mode is supported.

Collective call.

Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.

Referenced by Arcane::ParallelMngUtils::isMachineShMemWinAvailable().

Here is the caller graph for this function:

◆ machineBarrier()

virtual void Arcane::IParallelMngInternal::machineBarrier ( )
pure virtual

◆ machineRanks()

virtual ConstArrayView< Int32 > Arcane::IParallelMngInternal::machineRanks ( )
pure virtual

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

Non-collective call.

Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.

◆ machineShMemWinMemoryAllocator()

virtual MemoryAllocationOptions Arcane::IParallelMngInternal::machineShMemWinMemoryAllocator ( )
pure virtual

Method allowing retrieval of a shared memory allocator.

Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.

Referenced by Arcane::Variable::setUsed().

Here is the caller graph for this function:

◆ masterParallelIORank()

virtual Int32 Arcane::IParallelMngInternal::masterParallelIORank ( ) const
pure virtual

◆ nbSendersToMasterParallelIO()

virtual Int32 Arcane::IParallelMngInternal::nbSendersToMasterParallelIO ( ) const
pure virtual

◆ queue()

virtual RunQueue Arcane::IParallelMngInternal::queue ( ) const
pure virtual

Default queue for messages. Can be null.

Implemented in Arcane::ParallelMngInternal.

◆ runner()

virtual Runner Arcane::IParallelMngInternal::runner ( ) const
pure virtual

Default runner. Can be null.

Implemented in Arcane::ParallelMngInternal.

Referenced by createSubParallelMngRef().

Here is the caller graph for this function:

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