计算机科学与探索 ›› 2013, Vol. 7 ›› Issue (10): 916-923.DOI: 10.3778/j.issn.1673-9418.1303036

• 学术研究 • 上一篇    下一篇

二维结构化网格CFD LU-SGS时间推进并行算法

龚春叶1,2,3+,包为民1,2,汤国建2,王  玲1,刘  杰3,胡庆丰3   

  1. 1. 空间物理重点实验室,北京 100076
    2. 国防科学技术大学 航天科学与工程学院,长沙 410073
    3. 国防科学技术大学 计算机学院,长沙 410073
  • 出版日期:2013-10-01 发布日期:2013-09-30

Parallel Algorithm for CFD LU-SGS Time Stepping with Two Dimensional Structured Meshes

GONG Chunye1,2,3+, BAO Weimin1,2, TANG Guojian2, WANG Ling1, LIU Jie3, HU Qingfeng3   

  1. 1. Science and Technology on Space Physics Laboratory, Beijing 100076, China
    2. College of Aerospace Science and Technology, National University of Defense Technology, Changsha 410073, China
    3. College of Computer, National University of Defense Technology, Changsha 410073, China
  • Online:2013-10-01 Published:2013-09-30

摘要: 针对二维结构网格CFD(computational fluid dynamics)时间推进LU-SGS(lower-upper symmetric Gauss-
Seidel)存在的强数据依赖的特点,提出了波阵面并行算法,设计了相应的数据结构,以及具有更好数据局部性的访存优化方法和分块通信优化方法。测试结果表明,并行算法可以取得与串行算法完全一致的计算结果,且具有较好的加速效果,在DMP(distributed memory processing)系统下与16个进程相比,64个进程的并行效率达到85.64%,在SMP(symmetric multiprocessing)系统下与16个进程相比,128个进程的并行效率达到83.68%。

关键词: LU-SGS, 计算流体动力学(CFD), 结构化网格, 并行计算

Abstract: Aiming at the strong data dependence of CFD (computational fluid dynamics) LU-SGS (lower-upper symmetric Gauss-Seidel) time stepping with two dimensional structured meshes, this paper presents a wavefront parallel algorithm, and designs the corresponding data structure, memory access method with better data locality and fractional communication optimization. The experimental results show that the simulation result of the parallel algorithm is as same as the serial algorithm, but runs much faster. The parallel efficiency of 64 processes is up to 85.64% compared with 16 processes on a DMP (distributed memory processing) system. The parallel efficiency of 128 processes is up to 83.68% compared with 16 processes on an SMP (symmetric multiprocessing) system.

Key words: lower-upper symmetric Gauss-Seidel (LU-SGS), computational fluid dynamics (CFD), structured meshes, parallel computing