Classes | |
struct | TrueOwnerInfo |
Fonctions membres publiques | |
ArcaneInitialPartitioner (ArcaneCasePartitioner *mt, ISubDomain *sd) | |
void | build () override |
void | partitionAndDistributeMeshes (ConstArrayView< IMesh * > meshes) override |
Partitionne les maillages. | |
![]() | |
virtual | ~IInitialPartitioner () |
Libère les ressources. | |
Attributs publics | |
ISubDomain * | m_sub_domain = nullptr |
ArcaneCasePartitioner * | m_main = nullptr |
UniqueArray< TrueOwnerInfo > | m_part_indexes |
Stocke pour chaque maillage une variable indiquant pour chaque maille quelle partie la possède. | |
Fonctions membres privées | |
void | _mergeConstraints (ConstArrayView< IMesh * > meshes) |
Regroupe les mailles associées aux contraintes sur un même proc. | |
void | _printStats (Integer nb_part, IMesh *mesh, VariableCellInt32 &new_owners) |
Affiche des statistiques sur le partitionnement. | |
Définition à la ligne 65 du fichier ArcaneCasePartitioner.cc.
|
inline |
Définition à la ligne 78 du fichier ArcaneCasePartitioner.cc.
|
private |
Regroupe les mailles associées aux contraintes sur un même proc.
Définition à la ligne 154 du fichier ArcaneCasePartitioner.cc.
Références 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(), et Arcane::IBase::traceMng().
Référencé par partitionAndDistributeMeshes().
|
private |
Affiche des statistiques sur le partitionnement.
Définition à la ligne 296 du fichier ArcaneCasePartitioner.cc.
Références ENUMERATE_CELL, Arcane::ITraceMng::info(), Arcane::IParallelMng::reduce(), et Arcane::MessagePassing::ReduceSum.
Référencé par partitionAndDistributeMeshes().
|
inlineoverridevirtual |
Implémente Arcane::IInitialPartitioner.
Définition à la ligne 83 du fichier ArcaneCasePartitioner.cc.
|
overridevirtual |
Partitionne les maillages.
Cette opération doit partitionner tous les mailles meshes et les distribuer sur l'ensemble des processeurs.
Implémente Arcane::IInitialPartitioner.
Définition à la ligne 209 du fichier ArcaneCasePartitioner.cc.
Références _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(), et Arcane::IBase::traceMng().
ArcaneCasePartitioner* Arcane::ArcaneInitialPartitioner::m_main = nullptr |
Définition à la ligne 97 du fichier ArcaneCasePartitioner.cc.
UniqueArray<TrueOwnerInfo> Arcane::ArcaneInitialPartitioner::m_part_indexes |
Stocke pour chaque maillage une variable indiquant pour chaque maille quelle partie la possède.
Définition à la ligne 99 du fichier ArcaneCasePartitioner.cc.
Référencé par partitionAndDistributeMeshes().
ISubDomain* Arcane::ArcaneInitialPartitioner::m_sub_domain = nullptr |
Définition à la ligne 96 du fichier ArcaneCasePartitioner.cc.