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)
value | description |
none | Ne 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-v1 | Tente 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-v2 | Tente 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)
value | description |
all-processors | Metis utilise tous les processeurs disponibles. La repetabilite "run a run" n'est pas garantie. |
one-processor-per-node | Redistribue 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-nodes | Effectue 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-processors | Effectue 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-processors | Effectue 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>