面向多核CPU/众核GPU架构的非结构CFD共享内存并行计算技术
Shared⁃memory parallelization technology of unstructured CFD solver for multi⁃core CPU/many⁃core GPU architecture作者机构:国防科技大学并行与分布计算全国重点实验室长沙410073 中国空气动力研究与发展中心计算空气动力研究所绵阳621000
出 版 物:《航空学报》 (Acta Aeronautica et Astronautica Sinica)
年 卷 期:2024年第45卷第7期
页 面:108-121页
核心收录:
学科分类:080103[工学-流体力学] 08[工学] 080104[工学-工程力学] 0801[工学-力学(可授工学、理学学位)]
基 金:国家数值风洞(NNW)工程 四川省科技计划(2023YFG0152)
摘 要:针对现代高性能计算机架构开展非结构CFD节点内共享内存并行,是提升浮点计算效率、实现更大规模流体仿真应用能力的关键。然而由于非结构网格CFD计算存在拓扑关系复杂、数据局部性差、数据写冲突等问题,传统算法如何共享内存并行化以高效发挥多核CPU/众核GPU的硬件能力,成为一个重大的挑战。从一个工业级非结构CFD软件出发,通过深入分析其计算行为和访存模式,设计实现了多种共享内存并行算法,采用了网格重排序、循环融合、多级访存等数据局部性优化技术进一步提升性能。面向多核CPU架构,系统开展了循环级与任务级两种并行模式的对比研究;面向众核GPU架构,创新地提出了一种基于多级访存优化方法的规约并行策略。利用M6机翼和CHN-T1飞机算例对所有并行算法及优化技术进行了全面验证与评估。结果表明:在多核CPU平台上,基于剖分复制的任务级并行策略性能最好,采用Cuthill-McKee重排序以及循环融合分别使整体性能提升10%。在众核GPU平台上,基于多级访存的规约策略具有显著的加速效果,优化后热点函数的性能相比优化前提升了3倍,相比CPU串行性能整体加速比可达127。