6.3.3. Tpetra Preconditioners

6.3.3.1. Muelu Preconditioner

Scope

Cg Solver

Summary

Use a MueLu preconditioner.

begin Muelu Preconditioner

   Xml File {=} value

end Muelu Preconditioner

6.3.3.1.1. Line Commands

Xml File

Syntax

Xml File {=} value

Summary

Supply the name of an XML file containing a MueLu parameter list.

Parameter

Value

Default

{=}

{= | are | is}

value

string


6.3.3.2. Jacobi Preconditioner

Scope

Cg Solver

Summary

Use a Jacobi preconditioner.

begin Jacobi Preconditioner

   Damping Factor {=} value

   Number Of Sweeps {=} value

end Jacobi Preconditioner

6.3.3.2.1. Line Commands

Damping Factor

Syntax

Damping Factor {=} value

Summary

Set the relaxation damping factor.

Parameter

Value

Default

{=}

{= | are | is}

value

real

1


Number Of Sweeps

Syntax

Number Of Sweeps {=} value

Summary

Set the number of relaxation sweeps to perform.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

3


6.3.3.3. Sgs2 Preconditioner

Scope

Cg Solver

Summary

Use a Two-stage symmetric Gauss-Seidel preconditioner.

begin Sgs2 Preconditioner

   Damping Factor {=} value

   Number Of Sweeps {=} value

end Sgs2 Preconditioner

6.3.3.3.1. Line Commands

Damping Factor

Syntax

Damping Factor {=} value

Summary

Set the relaxation damping factor.

Parameter

Value

Default

{=}

{= | are | is}

value

real

1


Number Of Sweeps

Syntax

Number Of Sweeps {=} value

Summary

Set the number of relaxation sweeps to perform.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

3


6.3.3.4. Sgs Preconditioner

Scope

Cg Solver

Summary

Use a symmetric Gauss-Seidel preconditioner.

begin Sgs Preconditioner

   Damping Factor {=} value

   Number Of Sweeps {=} value

end Sgs Preconditioner

6.3.3.4.1. Line Commands

Damping Factor

Syntax

Damping Factor {=} value

Summary

Set the relaxation damping factor.

Parameter

Value

Default

{=}

{= | are | is}

value

real

1


Number Of Sweeps

Syntax

Number Of Sweeps {=} value

Summary

Set the number of relaxation sweeps to perform.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

3


6.3.3.5. Dd-Ilu Preconditioner

Scope

Cg Solver

Summary

Use a domain-decomposition ILU(k) preconditioner.

begin Dd-Ilu Preconditioner

   Fill Level {=} value

   Reordering {=} {off | on}

   Subdomain Overlap Level {=} value

   Use Thread Parallel Implementation {=} {off | on}

end Dd-Ilu Preconditioner

6.3.3.5.1. Line Commands

Fill Level

Syntax

Fill Level {=} value

Summary

Set the level of fill, k, for ILU(k).

Parameter

Value

Default

{=}

{= | are | is}

value

integer

0


Reordering

Syntax

Reordering {=} {off | on}

Summary

Determine whether or not to apply an RCM reordering.

Parameter

Value

Default

{=}

{= | are | is}

value

{off | on}

ON


Subdomain Overlap Level

Syntax

Subdomain Overlap Level {=} value

Summary

Set the level of subdomain overlap used in constructing the preconditioner.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

0


Use Thread Parallel Implementation

Syntax

Use Thread Parallel Implementation {=} {off | on}

Summary

Control whether or not to use the thread parallel ILU implementation from Kokkos-Kernels.

Description

This will default to the appropriate value based on the platform Aria is built for, but in rare cases it may be helpful to disable the thread parallel implementation in a GPU build for debugging purposes.

Parameter

Value

Default

{=}

{= | are | is}

value

{off | on}

ON


6.3.3.6. Dd-Ilut Preconditioner

Scope

Cg Solver

Summary

Use a domain-decomposition ILUT preconditioner.

begin Dd-Ilut Preconditioner

   Drop Tolerance {=} value

   Fill Fraction {=} value

   Reordering {=} {off | on}

   Subdomain Overlap Level {=} value

end Dd-Ilut Preconditioner

6.3.3.6.1. Line Commands

Drop Tolerance

Syntax

Drop Tolerance {=} value

Summary

Set the drop tolerance for ilut.

Description

Off-diagonal entries of the incomplete factorization smaller than the specified tolerance will be dropped.

Parameter

Value

Default

{=}

{= | are | is}

value

real

0


Fill Fraction

Syntax

Fill Fraction {=} value

Summary

Set the fill fraction for ilut.

Description

This parameter controls the number of nonzero entries that are kept in each row of the incomplete factorization. Larger values will use more memory and runtime, but may result in a more effective preconditioner.

Parameter

Value

Default

{=}

{= | are | is}

value

real

1


Reordering

Syntax

Reordering {=} {off | on}

Summary

Determine whether or not to apply an RCM reordering.

Parameter

Value

Default

{=}

{= | are | is}

value

{off | on}

ON


Subdomain Overlap Level

Syntax

Subdomain Overlap Level {=} value

Summary

Set the level of subdomain overlap used in constructing the preconditioner.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

0


6.3.3.7. Dd-Parilut Preconditioner

Scope

Cg Solver

Summary

Use a domain-decomposition ParILUT preconditioner.

Description

ParILUT is similar to ILUT, but uses an iterative approach to compute the approximate L and U factors in order to enable fine grained parallelism that can improve performance on GPUs.

begin Dd-Parilut Preconditioner

   Fill Fraction {=} value

   Maximum Iterations {=} value

   Reordering {=} {off | on}

   Subdomain Overlap Level {=} value

end Dd-Parilut Preconditioner

6.3.3.7.1. Line Commands

Fill Fraction

Syntax

Fill Fraction {=} value

Summary

Set the fill level for par_ilut.

Description

This parameter controls the number of nonzero entries that are kept in each row of the incomplete factorization. Larger values will use more memory and runtime, but may result in a more effective preconditioner.

Parameter

Value

Default

{=}

{= | are | is}

value

real

1


Maximum Iterations

Syntax

Maximum Iterations {=} value

Summary

Set the maximum number of iterations of the par_ilut algorithm.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

5


Reordering

Syntax

Reordering {=} {off | on}

Summary

Determine whether or not to apply an RCM reordering.

Parameter

Value

Default

{=}

{= | are | is}

value

{off | on}

ON


Subdomain Overlap Level

Syntax

Subdomain Overlap Level {=} value

Summary

Set the level of subdomain overlap used in constructing the preconditioner.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

0


6.3.3.8. Fastilu Preconditioner

Scope

Cg Solver

Summary

Use a domain-decomposition FastILU(k) preconditioner.

Description

FastILU is a beta preconditioner that uses an iterative approximation to the standard DD-ILU preconditioner in order to expose more parallelism for potentially better performance on GPUs.

begin Fastilu Preconditioner

   Damping Factor {=} value

   Fill Level {=} value

   Reordering {=} {off | on}

   Subdomain Overlap Level {=} value

   Sweeps {=} value

   Triangular Solver Type {=} {fast | standard}

end Fastilu Preconditioner

6.3.3.8.1. Line Commands

Damping Factor

Syntax

Damping Factor {=} value

Summary

Set the damping factor for the FastILU algorithm.

Parameter

Value

Default

{=}

{= | are | is}

value

real

0.2


Fill Level

Syntax

Fill Level {=} value

Summary

Set the level of fill, k, for FastILU(k).

Parameter

Value

Default

{=}

{= | are | is}

value

integer

0


Reordering

Syntax

Reordering {=} {off | on}

Summary

Determine whether or not to apply an RCM reordering.

Parameter

Value

Default

{=}

{= | are | is}

value

{off | on}

ON


Subdomain Overlap Level

Syntax

Subdomain Overlap Level {=} value

Summary

Set the level of subdomain overlap used in constructing the preconditioner.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

0


Sweeps

Syntax

Sweeps {=} value

Summary

Set the number of sweeps for iteratively computing the ILU approximation via the FastILU algorithm.

Parameter

Value

Default

{=}

{= | are | is}

value

integer

5


Triangular Solver Type

Syntax

Triangular Solver Type {=} {fast | standard}

Summary

Set the triangular solver type for FastILU

Parameter

Value

Default

{=}

{= | are | is}

value

{fast | standard}

Fast


6.3.3.9. Expert Ifpack2 Preconditioner

Scope

Cg Solver

Summary

Use an Ifpack2 preconditioner with parameters specified in an XML file.

begin Expert Ifpack2 Preconditioner

   Xml File {=} value

end Expert Ifpack2 Preconditioner

6.3.3.9.1. Line Commands

Xml File

Syntax

Xml File {=} value

Summary

Supply the name of an XML file containing an Ifpack2 parameter list.

Description

The supplied XML file must contain a ParameterList with a “preconditioner type:” string parameter corresponding to the desired type of Ifpack2 preconditioner as well as any additional parameters for that preconditioner.

Parameter

Value

Default

{=}

{= | are | is}

value

string


6.3.3.10. Expert Teko Preconditioner

Scope

Cg Solver

Summary

Use a teko preconditioner with parameters specified in an XML file.

begin Expert Teko Preconditioner

   Define Matrix Subblock Number = number Dof = dof name

   Inverse Method {=} value

   Xml File {=} value

end Expert Teko Preconditioner

6.3.3.10.1. Line Commands

Define Matrix Subblock

Syntax

Define Matrix Subblock Number = number Dof = dof name

Summary

Define the dof associated with a matrix subblock for block preconditioning.

Description

Define the matrix subblock number and the equation to apply to that subblock. Please see https://trilinos.github.io/teko.html for more details

Parameter

Value

Default

number

integer

dof name

string


Inverse Method

Syntax

Inverse Method {=} value

Summary

Supply the name of the inverse method.

Description

The name of the inverse method must correspond to the name of a parameter list specified in the teko XML file. Please see https://trilinos.github.io/teko.html for more details

Parameter

Value

Default

{=}

{= | are | is}

value

string


Xml File

Syntax

Xml File {=} value

Summary

Supply the name of an XML file containing a teko parameter list.

Description

The supplied XML file must contain a ParameterList with a valid teko parameter list. Please see https://trilinos.github.io/teko.html for more details

Parameter

Value

Default

{=}

{= | are | is}

value

string