论文部分内容阅读
在计算流体力学问题的求解中,基于非结构网格的求解器渐渐地成为主流研究方向,但是GPU通用计算发展近10年,GPU上的求解程序还是以结构网格的程序为主,基于GPU的非结构网格程序大多采用隐式格式,而对于CFD中广泛使用的显式格式,非结构网格下的GPU求解器很难达到较高的加速比。GPU通用计算发展几年来,架构更新换代很快,一些原本被研究人员公认的优化理念和方法可能并不适合非结构网格的CFD求解,一些优化方法随着产品的更新换代可能已经失去了效果。
本文在GPU平台上实现了非结构网格有限体积法求解器,并结合Fermi架构的硬件特点,对GPU上的程序进行再次优化,大幅提升了加速效果。本文的主要内容和成果如下:
1.介绍了非结构网格上的有限体积法求解过程,并行处理器的发展以及GPU从显示部件慢慢进化为并行处理器的历程,详细描述了最新的Fermi架构作为并行处理器的新特性。
2.将二维非结构网格的Eular方程有限体积法求解器移植到GPU平台,使用了结构体的数组到数组的结构体转换、减少数据传输、循环展开、指令优化等加速方法,对GPU程序进行优化,并与CPU程序作对比。
3.提出了调整非结构网格数据的存储顺序、降低warp占用率等方法,针对非结构网格求解程序在GPU上加速困难的原因,结合Fermi架构的硬件特点,在原来的基础上大幅提高了性能,深度挖掘了GPU的计算潜力,原本加速10倍的GPU程序,经过优化,最终相对于CPU加速约40倍。