Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

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 Laboratory (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, Journal Name: Parallel Computing Vol. 110; ISSN 0167-8191
Publisher:
ElsevierCopyright Statement
Country of Publication:
United States
Language:
English

References (20)

A Parallel Algorithm for Multilevel Graph Partitioning and Sparse Matrix Ordering journal January 1998
PaStiX: a high-performance parallel direct solver for sparse symmetric positive definite systems journal February 2002
PT-Scotch: A tool for efficient parallel graph ordering journal July 2008
A survey of direct methods for sparse linear systems journal May 2016
A Butterfly-Based Direct Integral-Equation Solver Using Hierarchical LU Factorization for Analyzing Scattering From Electrically Large Conducting Objects journal September 2017
Fixed-Rate Compressed Floating-Point Arrays journal December 2014
An Efficient Multicore Implementation of a Novel HSS-Structured Multifrontal Solver Using Randomized Sampling journal January 2016
A Distributed-Memory Algorithm for Computing a Heavy-Weight Perfect Matching on Bipartite Graphs journal January 2020
The Design and Use of Algorithms for Permuting Large Entries to the Diagonal of Sparse Matrices journal January 1999
A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs journal January 1998
An overview of the Trilinos project journal September 2005
Novel HPC techniques to batch execution of many variable size BLAS computations on GPUs conference January 2017
Batched Triangular Dense Linear Algebra Kernels for Very Small Matrix Sizes on GPUs journal May 2019
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 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
The Combinatorial BLAS: design, implementation, and applications journal May 2011
3D finite-difference frequency-domain modeling of visco-acoustic wave propagation using a massively parallel direct solver: A feasibility study journal September 2007
The SuiteSparse Matrix Collection Website Interface journal March 2019

Similar Records

A graphics processing unit accelerated sparse direct solver and preconditioner with block low rank compression
Journal Article · Mon Sep 30 00:00:00 EDT 2024 · International Journal of High Performance Computing Applications · OSTI ID:2499469

A GPU-Accelerated Structurally-Symmetric Sparse Multifrontal Solver
Conference · Wed Aug 07 00:00:00 EDT 2019 · OSTI ID:1605252

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:1378736