Internal part of IParallelMng. More...
#include <arcane/core/internal/IParallelMngInternal.h>
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< IParallelMng > | createSubParallelMngRef (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::IContigMachineShMemWinBaseInternal > | createContigMachineShMemWinBase (Int64 sizeof_segment, Int32 sizeof_type)=0 |
| Method allowing the creation of a memory window on the node. | |
| virtual Ref< MessagePassing::IMachineShMemWinBaseInternal > | createMachineShMemWinBase (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< Int32 > | machineRanks ()=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. | |
Internal part of IParallelMng.
Definition at line 41 of file IParallelMngInternal.h.
|
pure virtual |
Method allowing the creation of a memory window on the node.
Collective call.
| sizeof_segment | The size of our segment (in bytes). |
| sizeof_type | The size of a segment element (in bytes). |
Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.
|
pure virtual |
Method allowing the creation of a dynamic memory window on the node.
Collective call.
| sizeof_segment | The initial size of our segment (in bytes). |
| sizeof_type | The size of a segment element (in bytes). |
Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.
|
pure virtual |
Creates a sub IParallelMng similar to MPI_Comm_split.
Implemented in Arcane::ParallelMngInternal.
References runner().
|
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.
|
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.
|
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().
|
pure virtual |
Method allowing a barrier for the sub-domains of the computing node.
Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.
|
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.
|
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().
|
pure virtual |
Gives the writer in the case where parallel writing is possible (with MPI-IO for example).
Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.
|
pure virtual |
Gives the number of procs that will send data to masterParallelIORank().
Implemented in Arcane::MessagePassing::HybridParallelMng::Impl, Arcane::MessagePassing::SharedMemoryParallelMng::Impl, Arcane::MpiParallelMng::Impl, Arcane::ParallelMngInternal, and Arcane::SequentialParallelMng::Impl.
|
pure virtual |
Default queue for messages. Can be null.
Implemented in Arcane::ParallelMngInternal.
|
pure virtual |
Default runner. Can be null.
Implemented in Arcane::ParallelMngInternal.
Referenced by createSubParallelMngRef().