论文部分内容阅读
近年来,随着计算机技术和气体润滑技术的迅速发展,该领域所研究的问题不断扩展和深化,使得目前计算机的单机性能已经无法满足计算需求,采用并行方法求解这类问题显得尤为重要。为了探究GPU并行算法的实现原理,本文先对GPU的基本结构和特性进行研究,分析了CFD程序在GPU上的实现过程和执行方式,并设计了一套求解N-S方程的GPU并行算法。针对该算法,利用CUDA技术实现超音速平板流动算例的GPU并行计算,以此来验证算法的可行性和正确性,并对流场的计算结果和程序加速比进行探讨。在GPU并行算法成功实现的基础上,本文对气体静压润滑流场的串行程序进行重构,实现流场的GPU并行计算,通过雷诺方程验证了GPU并行程序的正确性,并对流场的计算结果进行详细分析。此外,通过几种优化方法,实现了GPU并行计算程序的性能优化,文中主要采用的优化方法有:对GPU中全局存储器和共享存储器的访问优化、对主机与设备间数据传输的优化以及对GPU指令集的优化。本文主要设计了一套适用于CFD计算程序的GPU并行算法,应用该算法分别求解了超音速平板流动算例和气体静压润滑流场计算程序,并通过几种优化方法,对GPU并行程序进行性能优化。结果表明:GPU的计算速度明显比CPU要快;GPU与CPU的计算结果偏差较小,几乎可以忽略,在精度要求不是特别严格的情况下,完全可以采用GPU代替CPU进行数值计算;N-S方程的计算结果捕捉到雷诺方程无法计算得出的温度现象;在所有优化方法中,对GPU存储器的访问方式进行优化,属于较高层次的优化方法,取得的优化效果较为明显,其他几种属于较低层次的优化方法,取得的优化效果比较有限。