《COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING》:Preconditioning techniques for Hybridizable discontinuous Galerkin discretizations on GPU architectures
编辑推荐:
研究人员提出了针对偏微分方程(PDE)在图形处理器(GPU)上的可杂交间断伽辽金(Hybridizable Discontinuous Galerkin, HDG)离散化的可扩展迭代求解器及预处理策略。其核心思想在于系统性地重构HDG系统,以揭示稠密的面级块结
研究人员提出了针对偏微分方程(PDE)在图形处理器(GPU)上的可杂交间断伽辽金(Hybridizable Discontinuous Galerkin, HDG)离散化的可扩展迭代求解器及预处理策略。其核心思想在于系统性地重构HDG系统,以揭示稠密的面级块结构,从而使整个线性代数流程能够利用跨步批量稠密核(stided batched dense kernels)执行,而非传统的稀疏矩阵格式。通过在设备上并行消除局部单元自由度并组装全局凝聚系统,该方法避免了稀疏数据结构,提升了算术强度,并在现代GPU架构上实现了持续的高吞吐量。研究人员开发并比较了一系列加性型预处理器,包括块雅可比(Block-Jacobi)、重叠加性施瓦茨(Overlapping Additive Schwarz)和多项式预处理(polynomial preconditioning),这些预处理器专为GPU效率与可移植性设计。所有预处理器均采用供应商优化的稠密线性代数库以批量形式实现,确保了高并发性,同时在NVIDIA与AMD平台上保持了架构可移植性。针对泊松方程、Burgers方程、线性和非线性弹性力学、欧拉方程、纳维-斯托克斯(Navier-Stokes)方程以及雷诺平均纳维-斯托克斯(Reynolds-Averaged Navier-Stokes, RANS)方程等广泛的椭圆型和可压缩流动问题,研究人员在结构化和非结构化网格上进行了综合性能研究。详细的分析与基准测试表明,主导计算核的性能接近硬件架构极限,且加性及多项式增强策略在不同物理机制下均提供了稳定的收敛性。该结果为HDG求解器在GPU架构上的高性能与可移植实现提供了一条可行路径。
本研究发表于《COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING》,聚焦于解决可杂交间断伽辽金(HDG)方法在高性能计算领域,尤其是GPU加速环境下的求解瓶颈问题。HDG方法通过引入网格骨架上的附加自由度,实现了局部静态凝聚,有效降低了全局线性系统的规模,在航空航天等领域的数值模拟中具有重要应用前景。然而,随着计算规模扩大至高阶三维问题,全局线性系统的求解成为性能瓶颈,传统直接求解器受限于内存与时间成本,而现有迭代求解器及预处理技术在GPU上面临稀疏数据结构导致的低算术强度、内存访问效率低等挑战。为此,研究人员旨在开发一套适用于GPU架构的HDG离散化专用预处理技术与迭代求解框架,以提升其在大规模科学计算中的实用性与可扩展性。
为实现上述目标,研究人员采用了几项关键技术方法:首先,基于HDG方法的数学特性,对系统进行重构以暴露稠密面级块结构,从而将线性代数运算转化为批量稠密矩阵操作;其次,采用局部静态凝聚技术,在GPU上并行消除单元内部自由度,仅组装全局凝聚系统;再者,设计并实现了一系列GPU友好的加性型预处理器,包括块雅可比(Block-Jacobi)、重叠加性施瓦茨(Overlapping Additive Schwarz)及多项式预处理(polynomial preconditioning);此外,利用cuBLAS/hipBLAS等供应商优化稠密线性代数库处理批量矩阵运算,并结合Kokkos编程模型实现剩余GPU内核的跨平台可移植性。
研究背景与问题
现代科学计算日益依赖GPU硬件,但隐式DG/HDG求解器的GPU实现仍相对有限。HDG方法虽通过局部静态凝聚降低了全局系统规模,但其全局线性系统(尤其在高阶、三维及非结构网格下)的求解仍是性能瓶颈。传统稀疏矩阵格式在GPU上存在内存访问效率低、算术强度不足等问题,制约了求解效率。因此,亟需开发适配GPU架构的高效预处理技术与迭代求解策略。
HDG离散化与线性系统结构
研究人员回顾了针对守恒律系统的HDG离散化方法。HDG通过将解变量及其梯度表示为网格单元内部及面上的独立变量,并引入数值通量,最终将全局系统凝聚至网格面的迹自由度(trace unknowns)上。这种特殊的数学结构自然形成了以面为基础的块耦合特征,为后续的GPU优化提供了可能。
迭代求解器与预处理技术
研究采用重启广义最小残差(Restarted GMRES)方法求解全局线性系统。为提升收敛性,设计了左预处理策略,重点开发了三类GPU高效的预处理技术:1) 块雅可比(Block-Jacobi)预处理器,基于面块对角矩阵求逆;2) 重叠加性施瓦茨(Additive Schwarz Method, ASM)预处理器,采用单单元重叠子域;3) 混合预处理器,将上述方法与多项式预处理(Polynomial Preconditioning, PP)相结合(记为BJ-PP(P)与ASM-PP(P))。这些方法均被设计为批量形式,以匹配GPU的并行执行模式。
GPU实现策略
实现层面,研究人员充分利用了HDG的面块结构。单元局部核(如局部静态凝聚、局部矩阵求逆)完全通过cuBLAS/hipBLAS的批量稠密矩阵接口执行,避免了稀疏数据结构的开销。对于无法由BLAS覆盖的操作(如通量评估、残差组装),则利用Kokkos编程模型编写可移植的GPU内核。这种设计使得核心计算核能够以高占用率运行于NVIDIA及AMD GPU平台。
数值实验与结果
研究人员在广泛的PDE模型上验证了所提方法,包括热传导、对流扩散、波动方程、线性和非线性弹性力学、可压缩欧拉(Euler)与纳维-斯托克斯(Navier-Stokes)方程以及雷诺平均纳维-斯托克斯(Reynolds-Averaged Navier-Stokes, RANS)方程。实验覆盖了结构化/非结构化网格、不同单元类型及多项式阶数。结果表明:1) 主导的稠密线性代数核性能接近GPU架构极限(通过Roofline分析及FLOP速率、内存带宽等指标证实);2) ASM预处理器在多种问题中表现出最稳定的收敛性,而多项式增强策略(BJ-PP, ASM-PP)能有效进一步降低迭代次数;3) 方法在不同GPU平台上均展现出优异的时间求解效率与可扩展性。
结论与意义
本研究成功开发了一套专为GPU架构优化的HDG求解器及预处理技术体系。通过挖掘HDG离散化的面级稠密块结构,并将其映射为批量稠密线性代数运算,有效解决了传统稀疏格式在GPU上的性能瓶颈。提出的加性及多项式增强预处理策略在保证收敛稳定性的同时,实现了接近硬件极限的计算效率。这项工作不仅为HDG方法在大规模流体力学、固体力学等仿真中的应用提供了高性能实现途径,其采用的GPU优化思想(如批量稠密核、Kokkos可移植性设计)也对其他有限元及间断伽辽金方法的GPU加速具有重要的借鉴意义。研究证实,通过算法与硬件架构的深度协同设计,隐式高阶数值方法能够在异构计算平台上实现卓越的性能表现。