Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ArcaneInitialPartitioner Class Reference
Inheritance diagram for Arcane::ArcaneInitialPartitioner:
Collaboration diagram for Arcane::ArcaneInitialPartitioner:

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

ISubDomainm_sub_domain = nullptr
ArcaneCasePartitionerm_main = nullptr
UniqueArray< TrueOwnerInfom_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.

Detailed Description

Definition at line 65 of file ArcaneCasePartitioner.cc.

Constructor & Destructor Documentation

◆ ArcaneInitialPartitioner()

Arcane::ArcaneInitialPartitioner::ArcaneInitialPartitioner ( ArcaneCasePartitioner * mt,
ISubDomain * sd )
inline

Definition at line 78 of file ArcaneCasePartitioner.cc.

Member Function Documentation

◆ _mergeConstraints()

void Arcane::ArcaneInitialPartitioner::_mergeConstraints ( ConstArrayView< IMesh * > meshes)
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _printStats()

void Arcane::ArcaneInitialPartitioner::_printStats ( Integer nb_part,
IMesh * mesh,
VariableCellInt32 & new_owners )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build()

void Arcane::ArcaneInitialPartitioner::build ( )
inlineoverridevirtual

Implements Arcane::IInitialPartitioner.

Definition at line 83 of file ArcaneCasePartitioner.cc.

◆ partitionAndDistributeMeshes()

void Arcane::ArcaneInitialPartitioner::partitionAndDistributeMeshes ( ConstArrayView< IMesh * > meshes)
overridevirtual

Member Data Documentation

◆ m_main

ArcaneCasePartitioner* Arcane::ArcaneInitialPartitioner::m_main = nullptr

Definition at line 97 of file ArcaneCasePartitioner.cc.

◆ m_part_indexes

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().

◆ m_sub_domain

ISubDomain* Arcane::ArcaneInitialPartitioner::m_sub_domain = nullptr

Definition at line 96 of file ArcaneCasePartitioner.cc.


The documentation for this class was generated from the following file: