ShyLU  Version of the Day
Trilinos/ShyLU: Scalable/Sparse Hybrid LU

Information

Shylu.nosp@m.-use.nosp@m.rs@so.nosp@m.ftwa.nosp@m.re.sa.nosp@m.ndia.nosp@m..gov

Introduction

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.

State

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.

Subpackages

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.