ShyLU
Version of the Day
|
Shylu -use rs@so ftwa re.sa ndia .gov
ShyLU is a package for solving sparse linear systems. It can be used either as a preconditioner or a full solver. Currently, we recommand using it as an Ifpack preconditioner.
ShyLU uses a hybrid direct/iterative approach based on Schur complements. The goal is to provide robustness similar to sparse direct solvers, but memory usage more similar to preconditioned iterative solvers.
ShyLU was designed as a node-level solver. It can use both MPI and threads in several ways. ShyLU was designed to: (a) solve difficult but medium-size problems; and (b) be used as a subdomain solver or smoother for very large problems with an iterative scheme. It is a purely algebraic method so can be used as a black-box solver. ShyLU has been particularly successful in electrical circuit simulation (Xyce).
ShyLU is highly configurable and supports a number of parameters to control how Schur complement is approximated (dropping and probing) and how the inner-outer iteratiion works. These features are not fully documented yet.
ShyLU is currently build on top of the older Trilinos, i.e., Epetra/Ifpack/Zoltan/Amesos Stack. Adoption of the newer stack, i.e., Tpetra/Ifpack2/Zoltan2/Amesos2, is slowly being added.
Currently, ShyLU has two subpackage: core and ichol. Core contains the current secondary-stable ShyLU source code and test, and ichol contain and experimental task-based scheduled incomplete Cholesky that uses Qthreads/Kokkos.