论文部分内容阅读
近年来,GPU性能飞速提升,越来越多的行业利用GPU进行一般意义上的科学计算(General-Purpose Computation on Graphics Processing Unit,GPGPU)。在航空领域,随着准确度、复杂度要求的提升,CFD计算耗费了大量的时间,国外许多专家利用GPU卓越的运算性能进行CFD计算,并行求解NS方程。单块GPU上取得的加速比一般有10到30倍,这样的加速比对于传统的集群计算来说是非常大的,由此造成的对CFD计算方式的影响不可谓不巨大。国外一些商用CFD软件ANSYS、Autodesk和开源软件如OpenFOAM等也纷纷开展GPU研究。与此同时,国内缺少成功的例子对利用GPU并行求解NS方程的可行性、有效性进行验证,在平常的科学计算和工程计算中,更是缺少相关的案例。这种情况大大阻碍了GPU并行求解NS方程在国内的推广。本文针对目前国内利用GPU并行求解NS方程的现状,设计并完成了GPU上并行求解NS方程的算法,目的在于验证利用GPU并行求解NS方程的可行性、有效性,有助于引进国外先进的计算技术,提高航空领域的CFD计算技术和能力。着重进行了以下工作:(1)研究了已有程序对完整考虑可压缩性和黏性的NS方程的数值求解方法;(2)设计并完成了GPU上并行求解NS方程的算法,采用大量优化技术对程序性能进行了调优;(3)对比了ORENA M6机翼和某机翼的跨声速流动的串并行计算结果,并给出了结论。对比ORENA M6机翼和某机翼的串并行计算结果,得出并行计算的结果是正确的。M6机翼在244800(51×30×160)的网格规模上取得了24倍的加速,某机翼在1676480(208×65×124)的网格规模上取得了37倍的加速,说明了GPU并行求解NS方程的巨大收益和良好的可扩展性。综上所述,本文的工作验证了利用GPU并行求解NS方程的可行性、有效性和良好的可扩展性。