Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Service 'Metis'

Partionneur de maillage Metis

Interfaces

Liste des options

Documentation des options

dump-graph (bool=false)

Dump graph on disk, in "Scotch" format. Allow to check input for partitioner.
Simple

<dump-graph>value</dump-graph>

empty-partition-strategy (enumeration=take-from-biggest-partition-v2)

valuedescription
noneNe fait aucun traitement pour les partitions vides. Cela risque potentiellement de poser problème lors du partitionnement suivant car ParMetis n'est pas robuste lorsqu'on essaie de partitionner un graphe distribué avec des composantes vides.
take-from-biggest-partition-v1Tente de supprimer les partitions vides en faisant en sorte que le sous-domaine ayant le plus de mailles donne une de ses mailles à une partition vide. Il s'agit de l'algorithme historique utilisé jusque dans la version 2.18 de Arcane. Cet algorithme fonctionne bien sauf dans le cas où il y a plus de partitions vide que de mailles dans le sous-domaine le plus grand car il laisse des partitions vides. Il faut noter que ce cas arrive uniquement si on a peu de mailles, beaucoup de sous-domaines et un déséquilibre important.
take-from-biggest-partition-v2Tente de supprimer les partitions vides en appliquant de manière itérative la version 1 de cet algorithme.

Strategie à adopter pour gérer les éventuelles partitions vides générées par ParMetis.

Enumeration

<empty-partition-strategy>value</empty-partition-strategy>

imbalance-relative-tolerance (real=4.0)

Imbalance tolerance; Force full repartitioning if imbalance if greater than 'imbalance-relative-tolerance' * maxImbalance
Simple

<imbalance-relative-tolerance>value</imbalance-relative-tolerance>

input-output-digest (bool=false)

Affiche la signature des entrees / sorties de ParMetis.
Simple

<input-output-digest>value</input-output-digest>

max-diffusive-count (integer=10)

Maximum diffusive repartition count before full repartitioning (negative values means never)
Simple

<max-diffusive-count>value</max-diffusive-count>

metis-call-strategy (enumeration=one-processor-per-node)

valuedescription
all-processorsMetis utilise tous les processeurs disponibles. La repetabilite "run a run" n'est pas garantie.
one-processor-per-nodeRedistribue le graph sur un processeur par noeud. Cela permet souvent d'ameliorer les performances en evitant d'avoir peu de mailles par processus. La repetabilite "run a run" du partitionnement n'est pas garantie. Lorsqu'il n'y a qu'un seul noeud, tous les processeurs du noeuds sont utilises (pas de regroupement du graph).
two-processors-two-nodesEffectue d'abord un regroupement du graph sur un processeur par noeud, puis effectue un regroupement du graph sur 2 de ces processeurs. S'il n'y a qu'un seul noeud, les 2 processeurs sont choisis sur ce noeud. La repetabilite "run a run" du partitionnement est garantie, mais cela consomme plus de memoire et de temps CPU lors du partitionnement.
two-gathered-processorsEffectue un regroupement du graph sur les 2 premiers processeurs. A priori, ces 2 processeurs se trouvent sur le meme noeud. La repetabilite "run a run" du partitionnement est garantie, mais cela consomme plus de memoire et de temps CPU lors du partitionnement.
two-scattered-processorsEffectue un regroupement du graph sur 2 processeurs distants. A priori, ces 2 processeurs se trouvent sur des noeuds differents. La repetabilite "run a run" du partitionnement est garantie, mais cela consomme plus de memoire et de temps CPU lors du partitionnement.

Strategie a adopter pour les appels a Metis.

Enumeration

<metis-call-strategy>value</metis-call-strategy>

tolerance-target (real=1.05)

Tolerance t used by partitioner. It means that all parts returned by partitioner should verify 'size' lte 'avg' * t.
Simple

<tolerance-target>value</tolerance-target>