Fast Sparse Matrix Permutation for Mesh-Based Direct Solvers
Behrooz Zarebavami, Ahmed H. Mahmoud, Ana Dodik, Changcheng Yuan, Serban D. Porumbescu, John D. Owens, Maryam Mehri Dehnavi, Justin Solomon
TL;DR
This work targets the dominant preprocessing bottleneck in sparse Cholesky factorization for mesh-based systems: finding a fill-reducing permutation. It introduces a patch-based, quotient-graph nested-dissection approach that constructs the elimination tree concurrently with the permutation, reuses coarse structure across recursive levels, and relaxes stringent balance and separator-size requirements to speed up computation. The method preserves the ND hierarchy needed for symbolic analysis and integrates with vendor solvers on CPU and GPU, delivering substantial end-to-end speedups (notably up to 6.62x on GPUs and 2.55x on CPUs in various workloads). By trading some permutation quality for speed, the approach significantly reduces preprocessing overhead while maintaining solver robustness, with strong practical impact for triangle-mesh pipelines in graphics applications. The results demonstrate the method’s scalability, and the authors outline extensions to volumetric meshes and GPU-based separator computation as future work.
Abstract
We present a fast sparse matrix permutation algorithm tailored to linear systems arising from triangle meshes. Our approach produces nested-dissection-style permutations while significantly reducing permutation runtime overhead. Rather than enforcing strict balance and separator optimality, the algorithm deliberately relaxes these design decisions to favor fast partitioning and efficient elimination-tree construction. Our method decomposes permutation into patch-level local orderings and a compact quotient-graph ordering of separators, preserving the essential structure required by sparse Cholesky factorization while avoiding its most expensive components. We integrate our algorithm into vendor-maintained sparse Cholesky solvers on both CPUs and GPUs. Across a range of graphics applications, including single factorizations, repeated factorizations, our method reduces permutation time and improves the sparse Cholesky solve performance by up to 6.27x.
