Internal part of IParallelMng. More...
#include <arcane/core/internal/ParallelMngInternal.h>
Public Member Functions | |
| 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< IParallelMng > | createSubParallelMngRef (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::IContigMachineShMemWinBaseInternal > | createContigMachineShMemWinBase (Int64 sizeof_segment, Int32 sizeof_type) override |
| Method allowing the creation of a memory window on the node. | |
| Ref< MessagePassing::IMachineShMemWinBaseInternal > | createMachineShMemWinBase (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< Int32 > | machineRanks () 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 | |
| ParallelMngDispatcher * | m_parallel_mng = nullptr |
| Runner | m_runner |
| RunQueue | m_queue |
| bool | m_is_accelerator_aware_disabled = false |
Internal part of IParallelMng.
Definition at line 40 of file ParallelMngInternal.h.
|
explicit |
Definition at line 35 of file ParallelMngInternal.cc.
|
overridevirtual |
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). |
Implements Arcane::IParallelMngInternal.
Definition at line 146 of file ParallelMngInternal.cc.
References ARCANE_THROW.
|
overridevirtual |
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). |
Implements Arcane::IParallelMngInternal.
Definition at line 156 of file ParallelMngInternal.cc.
References ARCANE_THROW.
|
overridevirtual |
Creates a sub IParallelMng similar to MPI_Comm_split.
Implements Arcane::IParallelMngInternal.
Definition at line 119 of file ParallelMngInternal.cc.
|
overridevirtual |
Method allowing the initialization of the windowCreator specific to the implementation.
Collective call.
Implements Arcane::IParallelMngInternal.
Definition at line 128 of file ParallelMngInternal.cc.
References ARCANE_THROW.
|
overridevirtual |
Indicates if the implementation handles accelerators.
If so, the accelerator memory can be used directly in MPI calls, which avoids potential re-copies.
Implements Arcane::IParallelMngInternal.
Definition at line 66 of file ParallelMngInternal.cc.
|
overridevirtual |
Method allowing to know if shared memory mode is supported.
Collective call.
Implements Arcane::IParallelMngInternal.
Definition at line 137 of file ParallelMngInternal.cc.
|
overridevirtual |
Method allowing a barrier for the sub-domains of the computing node.
Implements Arcane::IParallelMngInternal.
Definition at line 184 of file ParallelMngInternal.cc.
References ARCANE_THROW.
|
overridevirtual |
Method allowing retrieval of the ranks of the sub-domains of the computing node.
Non-collective call.
Implements Arcane::IParallelMngInternal.
Definition at line 175 of file ParallelMngInternal.cc.
References ARCANE_THROW.
|
overridevirtual |
Method allowing retrieval of a shared memory allocator.
Implements Arcane::IParallelMngInternal.
Definition at line 166 of file ParallelMngInternal.cc.
References ARCANE_THROW.
|
overridevirtual |
Gives the writer in the case where parallel writing is possible (with MPI-IO for example).
Implements Arcane::IParallelMngInternal.
Definition at line 101 of file ParallelMngInternal.cc.
|
overridevirtual |
Gives the number of procs that will send data to masterParallelIORank().
Implements Arcane::IParallelMngInternal.
Definition at line 110 of file ParallelMngInternal.cc.
|
overridevirtual |
Default queue for messages. Can be null.
Implements Arcane::IParallelMngInternal.
Definition at line 57 of file ParallelMngInternal.cc.
|
overridevirtual |
Default runner. Can be null.
Implements Arcane::IParallelMngInternal.
Definition at line 48 of file ParallelMngInternal.cc.
|
overridevirtual |
Implements Arcane::IParallelMngInternal.
Definition at line 81 of file ParallelMngInternal.cc.
|
private |
Definition at line 71 of file ParallelMngInternal.h.
|
private |
Definition at line 68 of file ParallelMngInternal.h.
|
private |
Definition at line 70 of file ParallelMngInternal.h.
|
private |
Definition at line 69 of file ParallelMngInternal.h.