Skip to content

Enable Zoltan-Based In-Process Subdomain Partitioning#4638

Closed
bska wants to merge 20 commits into
OPM:masterfrom
bska:enable-zoltan-partitioner
Closed

Enable Zoltan-Based In-Process Subdomain Partitioning#4638
bska wants to merge 20 commits into
OPM:masterfrom
bska:enable-zoltan-partitioner

Conversation

@bska

@bska bska commented May 10, 2023

Copy link
Copy Markdown
Member

Tested only for sequential running (mpirun -np 1) at the moment. Intended to replace the original partitioning scheme based on a user-provided input file named partition.txt.

There are two new user-controlled runtime parameters

  1. NumLocalDomains (--num-local-domains): Positive integer. The partitioner will divide the domain into this many non-overlapping subdomains and run the non-linear domain decomposition method on those
  2. LocalDomainsPartitioningImbalance (--local-domains-partitioning-imbalance`): Floating-point value $\ge 1$ which controls Zoltan's imbalance tolerance. A value of $1.03$ corresponds to a tolerance of three percent domain imbalance

These parameters are not queried unless the run uses the NLDD non-linear solver.

@bska

bska commented May 10, 2023

Copy link
Copy Markdown
Member Author

I'm creating this in draft mode for two reasons

  1. This PR depends on, and contains, the original NLDD PR (Add nonlinear solver based on domain decomposition method #3764)
  2. The restriction of being limited to sequential runs is too severe and we should get to a point where the solver is usable in parallel rather soon.

@bska bska force-pushed the enable-zoltan-partitioner branch 8 times, most recently from 7dbd35c to 0227e6c Compare May 15, 2023 14:02
@bska bska force-pushed the enable-zoltan-partitioner branch 6 times, most recently from 5821315 to 9428029 Compare May 25, 2023 11:34
@bska bska force-pushed the enable-zoltan-partitioner branch 15 times, most recently from de45574 to 500b479 Compare June 1, 2023 13:20
@bska bska force-pushed the enable-zoltan-partitioner branch 3 times, most recently from f2bc747 to b6c5cea Compare June 5, 2023 06:55
atgeirr and others added 20 commits June 5, 2023 11:35
Should probably be handled with fixing update() for
preconditioner wrapper instead, making a new wrapper
for those preconditioners that need to rebuild.
1. The order of options has been revised slightly to be more logical,
and the order is now the same in all 6 places they appear:
Declaration of parameters, definition of defaults, struct definition,
init(), registerParameters() and reset().

2. The reset() function now sets the members to the corresponding parameter
defaults.

3. Removed some unused members and parameters.
1. A new constructor taking the FlowLinearSolverParameters object directly.
2. A new overload of prepare() taking the matrix directly rather than the
   SparseMatrixAdapter class.
Tested only for sequential running (mpirun -np 1) at the moment.
Intended to replace the original partitioning scheme based on a
user-provided input file named partition.txt.

There are two new user-controlled runtime parameters

NumLocalDomains (--num-local-domains): Positive integer.
  The partitioner will divide the domain into this many
  non-overlapping subdomains and run the non-linear domain
  decomposition method on those

LocalDomainsPartitioningImbalance (--local-domains-partitioning-imbalance`):
  Floating-point value >= 1 which controls Zoltan's imbalance
  tolerance.  A value of 1.03 corresponds to a tolerance of three
  percent domain imbalance

These parameters are not queried unless the run uses the NLDD non-linear solver.
@bska bska force-pushed the enable-zoltan-partitioner branch from b6c5cea to 935f4cb Compare June 5, 2023 09:35
@bska bska closed this Jun 6, 2023
@bska bska deleted the enable-zoltan-partitioner branch June 6, 2023 11:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants