自适应笛卡尔网格的高效隐式LU-SGS异构并行算法

  • 赵洪杰 ,
  • 陈浩 ,
  • 陈波 ,
  • 李瑞田 ,
  • 彭博 ,
  • 张全 ,
  • 邓亮
展开
  • 1. 西南石油大学 计算机与软件学院
    2. 中国空气动力研究与发展中心 计算空气动力研究所
    3. 中国空气动力研究与发展中心

收稿日期: 2026-03-26

  修回日期: 2026-08-18

  网络出版日期: 2026-08-21

基金资助

国家自然科学基金;国家数值风洞(NNW)工程;四川省科技计划项目

An Efficient Heterogeneous Parallel Algorithm of Implicit LU-SGS on Adaptive Cartesian Grids

  • ZHAO Hong-Jie ,
  • CHEN Hao ,
  • CHEN Bo ,
  • LI Rui-Tian ,
  • PENG Bo ,
  • ZHANG Quan ,
  • DENG Liang
Expand

Received date: 2026-03-26

  Revised date: 2026-08-18

  Online published: 2026-08-21

摘要

自适应笛卡尔网格隐式LU-SGS方法兼具网格生成自动化程度高、特征自适应能力强及数值稳定性好等特点,已成为CFD领域的关键算法。然而,由于笛卡尔网格的自适应加密会带来拓扑关系复杂与非规则数据访存问题,加之LU-SGS方法固有的强数据依赖性,传统并行策略难以充分发挥GPU硬件的计算潜力。立足于一个工业级自适应笛卡尔网格CFD软件,深入分析其计算行为和访存模式,提出了一种基于自调度与重排序的高效LU-SGS异构并行算法,定义了一个兼顾网格规模与问题求解时间的客观性能评价指标FVPTS(Finite Volumes solved Per Time-to-Solution)。该算法设计单元面驱动的自调度忙等待机制,实现基于数据依赖关系的按需触发异步并行模式,缓解了强数据依赖对GPU并行效率的限制,提高了并行度。同时,发展了基于水平集与嵌套分割的两阶段重排序算法,改善了访存局部性并减少了线程束分支发散。典型算例测试结果表明,新算法相较传统LU-SGS方法和显式Runge-Kutta方法,FVPTS加速比分别达2.2倍和4.0倍。与同类商用软件相比,集成新算法的CFD软件取得了6.1~8.8倍的FVPTS加速比,平均加速比约为7.5倍。

本文引用格式

赵洪杰 , 陈浩 , 陈波 , 李瑞田 , 彭博 , 张全 , 邓亮 . 自适应笛卡尔网格的高效隐式LU-SGS异构并行算法[J]. 航空学报, 0 : 1 -0 . DOI: 10.7527/S1000-6893.2026.33610

Abstract

The implicit LU-SGS method on adaptive Cartesian grids, characterized by its high degree of automation in mesh generation, strong feature-adaptive capability, and good numerical stability, has become a key algorithm in the field of CFD. However, the adaptive refinement of Cartesian grids leads to complex topological relationships and irregular data access patterns. Coupled with the inherent strong data dependency of the LU-SGS method, traditional parallelization strategies struggle to fully exploit the computational potential of GPU hardware. Based on a production-level adaptive Cartesian grid CFD software, this paper conducts an in-depth analysis of its computational behavior and memory access patterns. An efficient heterogeneous parallel algorithm for LU-SGS, based on self-scheduling and reordering, is proposed. An objective performance evaluation metric, FVPTS (Finite Volumes solved Per Time-to-Solution), which balances grid scale and time-to-solution, is defined. This algorithm designs a cell-face-driven self-scheduling busy-waiting mechanism, realizing an on-demand-triggered asynchronous parallel mode based on data dependencies, thereby alleviating the limitation of strong data dependencies on GPU parallel efficiency and improving parallelism. Furthermore, a two-stage grid reordering algorithm based on level set and nested dissection is developed, which enhances memory access locality and reduces thread divergence. Test results on typical cases show that, compared to the traditional LU-SGS method and the explicit Runge-Kutta method, the new algorithm achieves a speedup of 2.2× and 4.0× in FVPTS, respectively. Compared to similar commercial software, the CFD software integrated with the new algorithm delivers an FVPTS speedup ranging from 6.1× to 8.8×, with an average speedup of approximately 7.5×.
Options
文章导航

/