Skip to main content
`Ctrl`+`K`

# PETSCPARTITIONERMULTISTAGE

“multistage” - A PetscPartitioner object using a multistage distribution strategy

## Options Database Keys

- -petscpartitioner_multistage_strategy <strategy> - Either `PETSCPARTITIONER_MS_STRATEGY_NODE`, or `PETSCPARTITIONER_MS_STRATEGY_MSECTION`

- -petscpartitioner_multistage_node_size <int> - Number of processes per computing node (or `PETSC_DECIDE`)

- -petscpartitioner_multistage_node_interleaved <bool> - Assign ranks round-robin.

- -petscpartitioner_multistage_msection <int> - Number of splits per level in recursive m-section splits (use `2` for bisection)

- -petscpartitioner_multistage_tpwgts <bool> - Use target partition weights in stage partitioner

## Notes

The default multistage strategy use `PETSCPARTITIONER_MS_STRATEGY_NODE` and automatically discovers node information using `MPI_Comm_split_type`. `PETSCPARTITIONER_MS_STRATEGY_MSECTION` is more for testing purposes. Options for single stage partitioners are prefixed by `-petscpartitioner_multistage_levels_`. For example, to use parmetis in all stages, `-petscpartitioner_multistage_levels_petscpartitioner_type parmetis` Finer grained control is also possible: `-petscpartitioner_multistage_levels_0_petscpartitioner_type parmetis`, `-petscpartitioner_multistage_levels_1_petscpartitioner_type simple`

## See Also

`PetscPartitionerType`, `PetscPartitionerCreate()`, `PetscPartitionerSetType()`

## Level

intermediate

## Location

src/dm/partitioner/impls/multistage/mspart.c

Index of all MatGraphOperations routines
Table of Contents for all manual pages
Index of all manual pages