SlabLU is a sparse direct solver designed for solving linear systems that arise from the discretization of elliptic partial differential equations (PDEs). By decomposing the domain into thin "slabs" and employing a two-level approach, SlabLU enhances parallelization, making it well-suited for modern multi-core architectures and GPUs.
The solver leverages the
- Two-Level Parallel Scheme: Optimized for parallel execution, particularly on systems with GPU support.
-
Efficient Handling of
$\mathcal{H}^2$ -Matrices: Utilizes efficient matrix algebra for efficient computational performance. - Flexible Discretization Compatibility: Supports a wide range of local discretizations, including high-order multi-domain spectral collocation methods.
-
High Performance: Demonstrated ability to solve significant problems, such as a Helmholtz problem on a domain of size
$1000 \lambda \times 1000 \lambda$ with$N=100M$ , within 15 minutes to six correct digits.
Figure 1: Solutions of variable-coefficient Helmholtz problem on square domain
Figure 2: Solutions of constant-coefficient Helmholtz problem on curved domain
To install SlabLU for CPU-based development or testing, run
python -m pip install --upgrade pip setuptools wheel
python -m pip install --no-build-isolation -e .
To test the framework on a benchmark problem, run
python argparse_driver.py --n 1000 --disc hps --p 22 --ppw 10 --domain square --pde bfield_constant --bc free_space --solver slabLU
which solves the constant-coefficient Helmholtz equation of size
To solve a set of example PDEs on curved domains, run
python generate_pictures.py
which generates the figures in [1].
If you use SlabLU, please cite:
Yesypenko, Anna, and Per-Gunnar Martinsson. "SlabLU: a two-level sparse direct solver for elliptic PDEs." Advances in Computational Mathematics 50, no. 4 (2024): 90. https://doi.org/10.1007/s10444-024-10176-x
[1] Yesypenko, Anna, and Per-Gunnar Martinsson. "GPU optimizations for the hierarchical Poincaré-Steklov scheme." In International Conference on Domain Decomposition Methods, 519-528. Springer, 2022.

