Container of information for the hybrid mode message manager. More...
Public Member Functions | |
| HybridParallelMngContainer (IApplication *app, Int32 nb_local_rank, MP::Communicator mpi_comm, MP::Communicator mpi_machine_comm, IParallelMngContainerFactory *factory, Parallel::IStat *stat, MpiLock *mpi_lock) | |
| void | build () |
| Ref< IParallelMng > | _createParallelMng (Int32 local_rank, ITraceMng *tm) override |
| Creates the IParallelMng for the local rank local_rank. | |
| Public Member Functions inherited from Arcane::ReferenceCounterImpl | |
| void | addReference () |
| void | removeReference () |
| void | _internalAddReference () |
| bool | _internalRemoveReference () |
Public Attributes | |
| IApplication * | m_application |
| Main manager. | |
| Parallel::IStat * | m_stat = nullptr |
| IThreadMng * | m_thread_mng = nullptr |
| Statistics. | |
| MpiLock * | m_mpi_lock = nullptr |
| ISharedMemoryMessageQueue * | m_message_queue = nullptr |
| IThreadBarrier * | m_thread_barrier = nullptr |
| Int32 | m_local_nb_rank = -1 |
| MpiThreadAllDispatcher * | m_all_dispatchers = nullptr |
| UniqueArray< HybridParallelMng * > * | m_parallel_mng_list = nullptr |
| Mutex * | m_internal_create_mutex = nullptr |
| IParallelMngContainerFactory * | m_sub_builder_factory = nullptr |
| HybridMachineShMemWinBaseInternalCreator * | m_window_creator = nullptr |
Private Member Functions | |
| void | _setMPICommunicator () |
Private Attributes | |
| MPI_Comm | m_mpi_communicator |
| MPI Communicator. | |
| Int32 | m_mpi_comm_rank = -1 |
| Current processor number. | |
| Int32 | m_mpi_comm_size = -1 |
| Number of processors. | |
| MPI_Comm | m_mpi_machine_communicator |
| MPI Communicator. | |
Container of information for the hybrid mode message manager.
Definition at line 65 of file HybridParallelSuperMng.cc.
| Arcane::MessagePassing::HybridParallelMngContainer::HybridParallelMngContainer | ( | IApplication * | app, |
| Int32 | nb_local_rank, | ||
| MP::Communicator | mpi_comm, | ||
| MP::Communicator | mpi_machine_comm, | ||
| IParallelMngContainerFactory * | factory, | ||
| Parallel::IStat * | stat, | ||
| MpiLock * | mpi_lock ) |
Definition at line 112 of file HybridParallelSuperMng.cc.
|
override |
Definition at line 133 of file HybridParallelSuperMng.cc.
|
overridevirtual |
Creates the IParallelMng for the local rank local_rank.
Implements Arcane::IParallelMngContainer.
Definition at line 193 of file HybridParallelSuperMng.cc.
References ARCANE_THROW, Arcane::MessagePassing::HybridParallelMng::build(), Arcane::MpiParallelMng::build(), Arcane::ITraceMng::info(), Arcane::MpiParallelMng::initialize(), m_mpi_comm_size, m_mpi_communicator, m_mpi_machine_communicator, m_thread_mng, and Arcane::makeRef().
|
private |
Definition at line 172 of file HybridParallelSuperMng.cc.
| void Arcane::MessagePassing::HybridParallelMngContainer::build | ( | ) |
Definition at line 149 of file HybridParallelSuperMng.cc.
| MpiThreadAllDispatcher* Arcane::MessagePassing::HybridParallelMngContainer::m_all_dispatchers = nullptr |
Definition at line 90 of file HybridParallelSuperMng.cc.
| IApplication* Arcane::MessagePassing::HybridParallelMngContainer::m_application |
Main manager.
Definition at line 83 of file HybridParallelSuperMng.cc.
| Mutex* Arcane::MessagePassing::HybridParallelMngContainer::m_internal_create_mutex = nullptr |
Definition at line 93 of file HybridParallelSuperMng.cc.
| Int32 Arcane::MessagePassing::HybridParallelMngContainer::m_local_nb_rank = -1 |
Definition at line 89 of file HybridParallelSuperMng.cc.
| ISharedMemoryMessageQueue* Arcane::MessagePassing::HybridParallelMngContainer::m_message_queue = nullptr |
Definition at line 87 of file HybridParallelSuperMng.cc.
|
private |
Current processor number.
Definition at line 100 of file HybridParallelSuperMng.cc.
|
private |
Number of processors.
Definition at line 101 of file HybridParallelSuperMng.cc.
Referenced by _createParallelMng().
|
private |
MPI Communicator.
Definition at line 99 of file HybridParallelSuperMng.cc.
Referenced by _createParallelMng().
| MpiLock* Arcane::MessagePassing::HybridParallelMngContainer::m_mpi_lock = nullptr |
Definition at line 86 of file HybridParallelSuperMng.cc.
|
private |
MPI Communicator.
Definition at line 102 of file HybridParallelSuperMng.cc.
Referenced by _createParallelMng().
| UniqueArray<HybridParallelMng*>* Arcane::MessagePassing::HybridParallelMngContainer::m_parallel_mng_list = nullptr |
Definition at line 92 of file HybridParallelSuperMng.cc.
| Parallel::IStat* Arcane::MessagePassing::HybridParallelMngContainer::m_stat = nullptr |
Definition at line 84 of file HybridParallelSuperMng.cc.
| IParallelMngContainerFactory* Arcane::MessagePassing::HybridParallelMngContainer::m_sub_builder_factory = nullptr |
Definition at line 94 of file HybridParallelSuperMng.cc.
| IThreadBarrier* Arcane::MessagePassing::HybridParallelMngContainer::m_thread_barrier = nullptr |
Definition at line 88 of file HybridParallelSuperMng.cc.
| IThreadMng* Arcane::MessagePassing::HybridParallelMngContainer::m_thread_mng = nullptr |
Statistics.
Definition at line 85 of file HybridParallelSuperMng.cc.
Referenced by _createParallelMng().
| HybridMachineShMemWinBaseInternalCreator* Arcane::MessagePassing::HybridParallelMngContainer::m_window_creator = nullptr |
Definition at line 95 of file HybridParallelSuperMng.cc.