Cholesky linear solvers are a critical bottleneck in challenging applications within computer graphics and scientific computing. These applications include but are not limited to elastodynamic barrier methods such as Incremental Potential Contact (IPC), and geometric operations such as remeshing and morphology. In these contexts, the sparsity patterns of the linear systems frequently change across successive calls to the Cholesky solver, necessitating repeated symbolic analyses that dominate the overall solver runtime. To address this bottleneck, we evaluate our method on over 150,000 linear systems generated from diverse nonlinear problems with dynamic sparsity changes in Incremental Potential Contact (IPC) and patch remeshing on a wide range of triangular meshes of various sizes. Our analysis using three leading sparse Cholesky libraries, Intel MKL Pardiso, SuiteSparse CHOLMOD, and Apple Accelerate, reveals that the primary performance constraint lies in the symbolic re-ordering phase of the solver. Recognizing this, we introduce Parth, an innovative re-ordering method designed to update ordering vectors only where local connectivity changes occur adaptively. Parth employs a novel hierarchical graph decomposition algorithm to break down the dual graph of the input matrix into fine-grained subgraphs, facilitating the selective reuse of fill-reducing orderings when sparsity patterns exhibit temporal coherence. Our extensive evaluation demonstrates that Parth achieves up to a 255x and 13x speedup in fill-reducing ordering for our IPC and remeshing benchmark and a 6.85x and 10.7x acceleration in symbolic analysis. These enhancements translate to up to 2.95x and 5.89x reduction in overall solver runtime. Additionally, Parth's integration requires only three lines of code, resulting in significant computational savings without the requirement of changes to the computational stack.
翻译:Cholesky线性求解器是计算机图形学和科学计算中具有挑战性应用的关键性能瓶颈。这些应用包括但不限于弹性动力学屏障方法(如增量势接触法IPC)以及几何操作(如网格重划分和形态学操作)。在这些场景中,线性系统的稀疏模式在连续调用Cholesky求解器时频繁变化,导致需要重复进行符号分析,这主导了整体求解器的运行时间。为应对此瓶颈,我们在超过150,000个线性系统上评估了所提方法,这些系统源自具有动态稀疏性变化的多样化非线性问题,包括增量势接触法(IPC)以及在各种尺寸三角形网格上的面片重划分。通过使用三种主流稀疏Cholesky库(Intel MKL Pardiso、SuiteSparse CHOLMOD和Apple Accelerate)进行分析,我们发现主要性能限制在于求解器的符号重排序阶段。基于此认识,我们提出了Parth——一种创新的重排序方法,旨在仅针对局部连接性发生变化的区域自适应地更新排序向量。Parth采用新颖的层次化图分解算法,将输入矩阵的对偶图分解为细粒度子图,从而在稀疏模式呈现时间相干性时实现填充约简排序的选择性重用。我们的大规模实验表明,Parth在IPC和网格重划分基准测试中分别实现了高达255倍和13倍的填充约简排序加速,以及6.85倍和10.7倍的符号分析加速。这些改进转化为整体求解器运行时间最高降低2.95倍和5.89倍。此外,Parth的集成仅需三行代码,无需改变计算栈即可实现显著的计算效率提升。