skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: High performance sparse multifrontal solvers on modern GPUs

Journal Article · · Parallel Computing
 [1];  [2]
  1. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States). Computational Research Division
  2. Univ. of Maryland, College Park, MD (United States)

Here, we have ported the numerical factorization and triangular solve phases of the sparse direct solver STRUMPACK to GPU. STRUMPACK implements sparse LU factorization using the multifrontal algorithm, which performs most of its operations in dense linear algebra operations on so-called frontal matrices of various sizes. Our GPU implementation off-loads these dense linear algebra operations, as well as the sparse scatter–gather operations between frontal matrices. For the larger frontal matrices, our GPU implementation relies on vendor libraries such as cuBLAS and cuSOLVER for NVIDIA GPUs and rocBLAS and rocSOLVER for AMD GPUs. For the smaller frontal matrices we developed custom CUDA and HIP kernels to reduce kernel launch overhead. Overall, high performance is achieved by identifying submatrix factorizations corresponding to sub-trees of the multifrontal assembly tree which fit entirely in GPU memory. The multi-GPU setting uses SLATE (Software for Linear Algebra Targeting Exascale) as a modern GPU-aware replacement for ScaLAPACK. On 4 nodes of SUMMIT the code runs ~10X faster when using all 24 V100 GPUs compared to when it only uses the 168 POWER9 cores. On 8 SUMMIT nodes, using 48 V100 GPUs, the sparse solver reaches over 50TFlop/s. Compared to SuperLU, on a single V100, for a set of 17 matrices our implementation is faster for all but one matrix, and is on average 5X (median 4X) faster

Research Organization:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)
Grant/Contract Number:
AC02-05CH11231
OSTI ID:
1960514
Journal Information:
Parallel Computing, Vol. 110; ISSN 0167-8191
Publisher:
ElsevierCopyright Statement
Country of Publication:
United States
Language:
English

References (20)

A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs journal January 1998
The SuiteSparse Matrix Collection Website Interface journal March 2019
PaStiX: a high-performance parallel direct solver for sparse symmetric positive definite systems journal February 2002
Fixed-Rate Compressed Floating-Point Arrays journal December 2014
The Multifrontal Solution of Indefinite Sparse Symmetric Linear journal September 1983
SuperLU_DIST: A scalable distributed-memory sparse direct solver for unsymmetric linear systems journal June 2003
Algorithm 832: UMFPACK V4.3---an unsymmetric-pattern multifrontal method journal June 2004
SLATE: design of a modern distributed and accelerated linear algebra library
  • Gates, Mark; Kurzak, Jakub; Charara, Ali
  • SC '19: The International Conference for High Performance Computing, Networking, Storage, and Analysis, Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis https://doi.org/10.1145/3295500.3356223
conference November 2019
The Design and Use of Algorithms for Permuting Large Entries to the Diagonal of Sparse Matrices journal January 1999
A Distributed-Memory Algorithm for Computing a Heavy-Weight Perfect Matching on Bipartite Graphs journal January 2020
An overview of the Trilinos project journal September 2005
Batched Triangular Dense Linear Algebra Kernels for Very Small Matrix Sizes on GPUs journal May 2019
A Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering journal January 1998
Novel HPC techniques to batch execution of many variable size BLAS computations on GPUs conference January 2017
A Butterfly-Based Direct Integral-Equation Solver Using Hierarchical LU Factorization for Analyzing Scattering From Electrically Large Conducting Objects journal September 2017
The Combinatorial BLAS: design, implementation, and applications journal May 2011
An Efficient Multicore Implementation of a Novel HSS-Structured Multifrontal Solver Using Randomized Sampling journal January 2016
PT-Scotch: A tool for efficient parallel graph ordering journal July 2008
A survey of direct methods for sparse linear systems journal May 2016
3D finite-difference frequency-domain modeling of visco-acoustic wave propagation using a massively parallel direct solver: A feasibility study journal September 2007

Similar Records

An Efficient Multicore Implementation of a Novel HSS-Structured Multifrontal Solver Using Randomized Sampling
Journal Article · Thu Oct 27 00:00:00 EDT 2016 · SIAM Journal on Scientific Computing · OSTI ID:1960514

Performance Portable Batched Sparse Linear Solvers
Journal Article · Mon May 01 00:00:00 EDT 2023 · IEEE Transactions on Parallel and Distributed Systems · OSTI ID:1960514

Porting fragmentation methods to GPUs using an OpenMP API: Offloading the resolution-of-the-identity second-order Møller–Plesset perturbation method
Journal Article · Fri Apr 28 00:00:00 EDT 2023 · Journal of Chemical Physics · OSTI ID:1960514