-
Notifications
You must be signed in to change notification settings - Fork 66
Partitioning
The ptnParma tool from SCOREC/core provides a command line tool to partition and load balance a mesh using Zoltan and ParMA.
Running the ptnParma without arguments will output the following usage statement:
Usage: ptnParma <model> <mesh> <outMesh> <factor> <method> <approach> <0:global|1:local>
The factor argument is defined as the finalPartCount/initialPartCount. So, for example, to partition a serial (one part) mesh to eight parts set factor to eight. To partition the eight part mesh to 32 parts set factor to four.
The method argument sets Zoltan's partitioning algorithm. The following options are available:
-
ribfor recursive inertial bisection -
rcbfor recursive coordinate bisection -
hgfor hyper-graph -
pmetisfor ParMETIS (see below for options)
The approach argument controls the application of the selected partitioning algorithm. The following options are available (see the Zoltan Manual):
-
ptnpartition without consideration of the initial distribution -
reptnlimit the migration costs to build the new partition -
refinereduces the cut weight -
kway(pmetisonly) multilevel Kernighan-Lin partitioning -
geomkway(pmetisonly) hybrid method based on PartKway and space filling curves" -
refkway(pmetisonly) refine the current partition (balance)
Setting the last argument, <0:global|1:local>, to 0 runs one instance of the selected partitioner that can use information about the entire partition to make 'global' decisions. Setting the argument to 1 runs one instance per-process ('local') that can only use the on-process partition information to make decisions.
When creating a partition with less than 16Ki parts, the recommended settings are pmetis for method and reptn for approach and 1 for <0:global|1:local>. Assuming the input partition is fairly well balanced, then pmetis, reptn, and 0 should be used local ParMETIS graph-based.
After partitioning ParMA Vertex>Element balancing runs to reduce the vertex and element imbalances.