Skip to main content
QUICK REVIEW

[论文解读] An efficient multi-core implementation of a novel HSS-structured multifrontal solver using randomized sampling

Pieter Ghysels, Xiaoye Sherry Li|arXiv (Cornell University)|Feb 25, 2015
Sparse and Compressive Sensing Techniques参考文献 40被引用 7
一句话总结

本文提出了一种高性能、多核实现的新型多Frontal求解器,通过利用随机采样对分层半分离(HSS)矩阵进行压缩,以降低计算复杂度。通过使用HSS结构近似多Frontal方法中的密集Frontal矩阵,并采用快速ULV分解,该求解器相较于标准多Frontal方法实现了高达7倍的加速,且在共享内存架构上优于最先进的求解器如PARDISO。

ABSTRACT

We present a sparse linear system solver that is based on a multifrontal variant of Gaussian elimination, and exploits low-rank approximation of the resulting dense frontal matrices. We use hierarchically semiseparable (HSS) matrices, which have low-rank off-diagonal blocks, to approximate the frontal matrices. For HSS matrix construction, a randomized sampling algorithm is used together with interpolative decompositions. The combination of the randomized compression with a fast ULV HSS factorization leads to a solver with lower computational complexity than the standard multifrontal method for many applications, resulting in speedups up to 7 fold for problems in our test suite. The implementation targets many-core systems by using task parallelism with dynamic runtime scheduling. Numerical experiments show performance improvements over state-of-the-art sparse direct solvers. The implementation achieves high performance and good scalability on a range of modern shared memory parallel systems, including the Intel Xeon Phi (MIC). The code is part of a software package called STRUMPACK -- STRUctured Matrices PACKage, which also has a distributed memory component for dense rank-structured matrices.

研究动机与目标

  • 开发一种高性能、多核的多Frontal求解器,以降低大规模稀疏线性系统的计算复杂度。
  • 通过利用Frontal矩阵中的低秩结构,解决多Frontal求解器中密集矩阵运算的瓶颈。
  • 在现代共享内存和众核系统(如Intel Xeon和Xeon Phi)上实现稀疏线性系统的高效、可扩展求解。
  • 通过随机采样和插值分解,降低HSS矩阵构建的计算成本,实现近线性复杂度。
  • 将求解器集成到STRUMPACK软件包中,支持共享内存和分布式内存环境下的运行。

提出的方法

  • 求解器采用多Frontal方法,其中密集Frontal矩阵通过具有低秩非对角块的分层半分离(HSS)矩阵进行近似。
  • 使用随机采样与插值分解高效构建HSS矩阵,将构建成本从O(N²)降低至近线性复杂度。
  • 对压缩后的Frontal矩阵应用快速类似ULV的HSS分解,实现线性系统的高效求解。
  • 采用任务并行与动态运行时调度(通过StarPU实现),在多核和众核系统上实现高性能与可扩展性。
  • 通过在整个分解过程中保持结构化的HSS表示,避免显式生成大型密集Frontal矩阵。
  • 将求解器集成到STRUMPACK包中,支持共享内存和分布式内存环境下的密集秩结构矩阵计算。

实验结果

研究问题

  • RQ1HSS矩阵压缩能否显著降低稀疏线性系统多Frontal求解器的计算复杂度?
  • RQ2随机采样与插值分解能否实现高效、低成本的HSS矩阵构建,达到近线性复杂度?
  • RQ3基于HSS压缩的多Frontal求解器能否在现代众核架构(如Intel Xeon和Xeon Phi)上实现高性能与可扩展性?
  • RQ4基于HSS的求解器与最先进的稀疏直接求解器(如PARDISO)相比,性能如何?
  • RQ5求解器扩展中的主要瓶颈是什么?如何通过优化HSS秩和重排策略来提升性能?

主要发现

  • HSS结构多Frontal求解器在一系列测试问题上相较标准多Frontal方法实现了高达7倍的加速。
  • 在共享内存系统上,该求解器在性能和可扩展性方面优于商业求解器PARDISO。
  • 数值分解在双路Intel Xeon和60核Intel Xeon Phi系统上均表现出强并行可扩展性。
  • 随着线程数量增加,使用MC64和METIS/SCOTCH的重排阶段成为瓶颈,表明需要改进并行重排算法。
  • 尽管浮点计算吞吐量低于纯多Frontal代码,该实现仍保持高性能和良好的可扩展性,表明仍有进一步优化空间。
  • 随机采样与ULV分解的结合实现了完全结构化的HSS表示,无需显式生成大型密集矩阵。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。