oxicuda_sparse/preconditioner/mod.rs
1//! Incomplete factorization preconditioners for iterative solvers.
2//!
3//! Preconditioners approximate the inverse of a sparse matrix to accelerate
4//! iterative methods such as conjugate gradient (CG) and GMRES.
5//!
6//! ## Available preconditioners
7//!
8//! - [`fn@ilu0`] -- Incomplete LU factorization with zero fill-in (ILU(0)).
9//! Suitable for general non-symmetric systems.
10//! - [`fn@ic0`] -- Incomplete Cholesky factorization with zero fill-in (IC(0)).
11//! Suitable for symmetric positive-definite (SPD) systems.
12//!
13//! Both preconditioners use a level-set parallel approach: rows are grouped
14//! into dependency levels, and all rows within a level are processed in
15//! parallel on the GPU.
16
17pub mod amg;
18pub mod graph_coloring;
19pub mod ic0;
20pub mod ick;
21pub mod ilu0;
22pub mod iluk;
23
24pub use amg::{AmgHierarchy, AmgLevel, AmgOptions, amg_setup, amg_solve, amg_v_cycle};
25pub use graph_coloring::GraphColoring;
26pub use ic0::ic0;
27pub use ick::{IncompleteCholeskyK, ic_k};
28pub use ilu0::ilu0;
29pub use iluk::{IlukConfig, IlukFactorization};