Software

PanguLU
Introduction
PanguLU is an open source software package for solving a linear system Ax = b on heterogeneous distributed platforms. The library is written in C, and exploits parallelism from MPI, OpenMP and CUDA. The sparse LU factorisation algorithm used in PanguLU splits the sparse matrix into multiple equally-sized sparse matrix blocks and computes them by using sparse BLAS. The latest version of PanguLU uses a synchronisation-free communication strategy to reduce the overall latency overhead, and a variety of block-wise sparse BLAS methods have been adaptively called to improve efficiency on CPUs and GPUs. Currently, PanguLU supports both single and double precision, both real and complex values. In addition, our team at the SSSLab is constantly optimising and updating PanguLU.
Versions
Version 4.2.0 (Dec. 13, 2024) Download
- Updated preprocessing phase to distributed data structure.
Version 4.1.0 (Sep. 01, 2024) Download
- Optimized memory usage of numeric factorisation and solving.
- Added parallel building support.
Version 4.0.0 (Jul. 24, 2024) Download
- Optimized user interfaces of solver routines.
- Optimized performance of numeric factorisation phase on CPU platform.
- Added support on complex matrix solving.
- Optimized preprocessing performance.
Version 3.5.0 (Aug. 06, 2023) Download
- Updated the pre-processing phase with OpenMP.
- Updated the compilation method, compilling libpangulu.so and libpangulu.a at the same time.
- Updated timing for the reorder phase, the symbolic factorisation phase, and the pre-processing phase.
- Added GFLOPS for the numeric factorisation phase.
Version 3.0.0 (Apr. 02, 2023) Download
- Used an adaptive method for selecting sparse BLAS in the numeric factorisation phase.
- Added the reordering phase.
- Added the symbolic factorisation phase.
- Added the MC64 algorithm in the reordering phase.
- Added an interface for 64-bit METIS package in the reordering phase.
Version 2.0.0 (Jul. 22, 2022) Download
- Used a synchronisation-free scheduling strategy in the numeric factorisation phase.
- Updated the MPI communication method in the numeric factorisation phase.
- Added single precision in the numeric factorisation phase.
Version 1.0.0 (Oct. 19, 2021) Download
- Used a rule-based 2D LU factorisation scheduling strategy.
- Used sparse BLAS for floating point calculations on GPUs.
- Added the pre-processing phase.
- Added the numeric factorisation phase.
- Added the triangular solve phase.
Reference
- Xu Fu, Bingbin Zhang, Tengcheng Wang, Wenhao Li, Yuechen Lu, Enxin Yi, Jianqi Zhao, Xiaohan Geng, Fangying Li, Jingwen Zhang, Zhou Jin, Weifeng Liu. PanguLU: A Scalable Regular Two-Dimensional Block-Cyclic Sparse Direct Solver on Distributed Heterogeneous Systems. 36th ACM/IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis (SC ’23). 2023. Best Paper Award.
Contact us
Please send email to yida.li@student.cup.edu.cn, if you have any questions on PanguLU.
All copyrights of PanguLU belong to Super Scientific Software Laboratory (SSSLab), China University of Petroleum-Beijing.