gSoFa: Scalable Sparse Symbolic LU Factorization on GPUs

Decomposing a matrix <inline-formula><tex-math notation="LaTeX">$\mathbf {A}$</tex-math><alternatives><mml:math><mml:mi mathvariant="bold">A</mml:mi></mml:math><inline-graphic xlink:href="gaihre-ieq1-3090316.gif"/></alternatives></inline-formula> into a lower matrix <inline-formula><tex-math notation="LaTeX">$\mathbf {L}$</tex-math><alternatives><mml:math><mml:mi mathvariant="bold">L</mml:mi></mml:math><inline-graphic xlink:href="gaihre-ieq2-3090316.gif"/></alternatives></inline-formula> and an upper matrix <inline-formula><tex-math notation="LaTeX">$\mathbf {U}$</tex-math><alternatives><mml:math><mml:mi mathvariant="bold">U</mml:mi></mml:math><inline-graphic xlink:href="gaihre-ieq3-3090316.gif"/></alternatives></inline-formula>, which is also known as LU decomposition, is an essential operation in numerical linear algebra. For a sparse matrix, LU decomposition often introduces more nonzero entries in the <inline-formula><tex-math notation="LaTeX">$\mathbf {L}$</tex-math><alternatives><mml:math><mml:mi mathvariant="bold">L</mml:mi></mml:math><inline-graphic xlink:href="gaihre-ieq4-3090316.gif"/></alternatives></inline-formula> and <inline-formula><tex-math notation="LaTeX">$\mathbf {U}$</tex-math><alternatives><mml:math><mml:mi mathvariant="bold">U</mml:mi></mml:math><inline-graphic xlink:href="gaihre-ieq5-3090316.gif"/></alternatives></inline-formula> factors than in the original matrix. A <italic>symbolic factorization</italic> step is needed to identify the nonzero structures of <inline-formula><tex-math notation="LaTeX">$\mathbf {L}$</tex-math><alternatives><mml:math><mml:mi mathvariant="bold">L</mml:mi></mml:math><inline-graphic xlink:href="gaihre-ieq6-3090316.gif"/></alternatives></inline-formula> and <inline-formula><tex-math notation="LaTeX">$\mathbf {U}$</tex-math><alternatives><mml:math><mml:mi mathvariant="bold">U</mml:mi></mml:math><inline-graphic xlink:href="gaihre-ieq7-3090316.gif"/></alternatives></inline-formula> matrices. Attracted by the enormous potentials of the Graphics Processing Units (GPUs), an array of efforts have surged to deploy various LU factorization steps except for the symbolic factorization, to the best of our knowledge, on GPUs. This article introduces <sc>gSoFa</sc>, the first <underline>G</underline>PU-based <underline>s</underline>ymb<underline>o</underline>lic <underline>fa</underline>ctorization design with the following three optimizations to enable scalable LU symbolic factorization for <italic>nonsymmetric pattern</italic> sparse matrices on GPUs. First, we introduce a novel fine-grained parallel symbolic factorization algorithm that is well suited for the <italic>Single Instruction Multiple Thread</italic> (SIMT) architecture of GPUs. Second, we tailor supernode detection into a SIMT friendly process and strive to balance the workload, minimize the communication and saturate the GPU computing resources during supernode detection. Third, we introduce a three-pronged optimization to reduce the excessive space consumption problem faced by multi-source concurrent symbolic factorization. Taken together, <sc>gSoFa</sc> achieves up to 31× speedup from 1 to 44 Summit nodes (6 to 264 GPUs) and outperforms the state-of-the-art CPU project, on average, by 5×. Notably, <sc>gSoFa</sc> also achieves up to 47 percent of the peak memory throughput of a V100 GPU in the Summit Supercomputer.