Classes | |
| struct | TrueOwnerInfo |
Public Member Functions | |
| ArcaneInitialPartitioner (ArcaneCasePartitioner *mt, ISubDomain *sd) | |
| void | build () override |
| void | partitionAndDistributeMeshes (ConstArrayView< IMesh * > meshes) override |
| Partitions the meshes. | |
| Public Member Functions inherited from Arcane::IInitialPartitioner | |
| virtual | ~IInitialPartitioner ()=default |
| Releases resources. | |
Public Attributes | |
| ISubDomain * | m_sub_domain = nullptr |
| ArcaneCasePartitioner * | m_main = nullptr |
| UniqueArray< TrueOwnerInfo > | m_part_indexes |
| Stores for each mesh a variable indicating which partition each cell belongs to. | |
Private Member Functions | |
| void | _mergeConstraints (ConstArrayView< IMesh * > meshes) |
| Groups cells associated with constraints on the same process. | |
| void | _printStats (Integer nb_part, IMesh *mesh, VariableCellInt32 &new_owners) |
| Prints statistics on the partitioning. | |
Definition at line 65 of file ArcaneCasePartitioner.cc.
|
inline |
Definition at line 78 of file ArcaneCasePartitioner.cc.
|
private |
Groups cells associated with constraints on the same process.
Definition at line 152 of file ArcaneCasePartitioner.cc.
References Arcane::IItemFamily::allItems(), ARCANE_FATAL, Arcane::IParallelMng::commRank(), Arcane::ITimeStats::dumpTimeAndMemoryUsage(), ENUMERATE_CELL, Arcane::ITraceMng::info(), Arcane::IItemFamily::itemsNewOwner(), Arcane::ISubDomain::parallelMng(), Arcane::IBase::serviceMng(), Arcane::ConstArrayView< T >::size(), Arcane::ISubDomain::timeStats(), and Arcane::IBase::traceMng().
Referenced by partitionAndDistributeMeshes().
|
private |
Prints statistics on the partitioning.
Definition at line 294 of file ArcaneCasePartitioner.cc.
References ENUMERATE_CELL, Arcane::ITraceMng::info(), Arcane::IParallelMng::reduce(), and Arcane::MessagePassing::ReduceSum.
Referenced by partitionAndDistributeMeshes().
|
inlineoverridevirtual |
Implements Arcane::IInitialPartitioner.
Definition at line 83 of file ArcaneCasePartitioner.cc.
|
overridevirtual |
Partitions the meshes.
This operation must partition all meshes and distribute them across all processors.
Implements Arcane::IInitialPartitioner.
Definition at line 207 of file ArcaneCasePartitioner.cc.
References _mergeConstraints(), _printStats(), Arcane::IItemFamily::allItems(), ARCANE_CHECK_POINTER, ARCANE_FATAL, Arcane::IParallelMng::commSize(), Arcane::ServiceBuilder< InterfaceType >::createReference(), Arcane::ITimeStats::dumpTimeAndMemoryUsage(), ENUMERATE_CELL, ENUMERATE_NODE, Arcane::ITraceMng::info(), Arcane::IItemFamily::itemsNewOwner(), Arcane::Timer::lastActivationTime(), m_part_indexes, Arcane::ISubDomain::parallelMng(), Arcane::SB_AllowNull, Arcane::ConstArrayView< T >::size(), Arcane::Timer::TimerReal, Arcane::ISubDomain::timeStats(), and Arcane::IBase::traceMng().
| ArcaneCasePartitioner* Arcane::ArcaneInitialPartitioner::m_main = nullptr |
Definition at line 97 of file ArcaneCasePartitioner.cc.
| UniqueArray<TrueOwnerInfo> Arcane::ArcaneInitialPartitioner::m_part_indexes |
Stores for each mesh a variable indicating which partition each cell belongs to.
Definition at line 99 of file ArcaneCasePartitioner.cc.
Referenced by partitionAndDistributeMeshes().
| ISubDomain* Arcane::ArcaneInitialPartitioner::m_sub_domain = nullptr |
Definition at line 96 of file ArcaneCasePartitioner.cc.