正文共: 1594字 19图 预计阅读时间: 4分钟
GPU计算是涉及利用图形处理单元(GPU)来加速Ansys Fluent软件中的计算过程的一种技术。根据相关测试结果,GPU求解器在计算速度方面通常比CPU求解器快几倍到几十倍不等,同时GPU还可以显著降低总能耗,提高计算效率。实际上,使用GPU加速CFD求解已经有一段时间,据了解Ansys Fluent2014提供了GPU加速功能。但是,这种加速方法是所谓的Offload模式,也就是将CPU求解的某些部分交给GPU来处理,从而加速整体求解时间。这种模式存在CPU和GPU之间数据交互的额外开销,并且其加速效果并不是一定的,而是受到多种因素的影响,关于这一点有诸多的兴趣爱好者进行了很多测试,有些观点认为并不是把所有标量的求解都采用GPU加速就可以提高计算速度。2021R1版本开始,Fluent提供了原生GPU求解器即Native GPU,将所有计算都部署在GPU上,相对于offload模式具有显著的提速效果,甚至可以说是降维打击。尽管Fluent GPU求解器具有显著的优势,但它目前仍不支持全套Fluent物理模型。随着软件的不断更新和升级,未来必定会添加更多功能。Ansys公司会同NVIDIA开展全方位合作,未来的CFD仿真速度必定实现质的跨越,当然了,从用户角度看,想要享受这种速度,得掏钱升级了。今天,我们用一个案例进行一次简单的测试,注意,想要进行本案例计算,读者的电脑必须得配有GPU,并且由于Fluent GPU求解器是基于NVIDIA开发的CUDA API实现并行计算,因此只支持NIVDIA的GPU。另外需要指出的是Fluent原生GPU求解器仅支持企业级许可,且只能用在3D几何模型上。本案例我们讨论的是原生GPU求解器,offload模式以后再讨论。
创建如下的三维管道模型,大管走冷水,小管走热水,求解混合传热问题。划分多边形网格,节点数约27.3万。
假设热水入口速度1m/s,温度90℃;冷水入口速度0.5m/s,温度25℃。启用SST k-ω湍流模型和能量方程,压力速度耦合采用SIMPLE算法。我们选择企业级许可,并且分别在没有加载GPU求解器和加载GPU求解器下计算,比较计算速度和计算结果。我们可以看到,加载GPU求解器后,会在启动面板显示GPU的数量和型号。
我们先看一下,没有GPU计算时一共迭代152次收敛(默认标准),耗时37s,在四个节点进行计算(因为我们设置了4核),此时GPU利用率很低,GPU运行温度30℃,专用GPU内存只用0.5G。
我们看一下出口温度、温度和速度云图如下。
接着,我们启用GPU计算,成功读入case后,console窗口会显示GPU求解器相关信息。
采用相同的初始条件进行初始化,迭代计算,等待数秒,GPU需要进行初始化。出于隐私考虑,电脑名称进行了马赛克处理。
GPU迭代223次收敛(默认标准),耗时49s。专用GPU内存2G,运行温度36℃。
出口温度、温度云图和速度云图如下。
从计算结果看,两者几乎无差别。从计算迭代速度看,CPU迭代152次,耗时37秒,平均每次迭代耗时0.2434s;GPU迭代223次,耗时49s,平均每次迭代耗时0.2197s,GPU计算速度约为CPU的1.1倍,我们把压力速度耦合改成coupled算法。两者比较如下,此时GPU计算速度约为CPU的1.6倍。总体来看,GPU计算速率高于CPU,当然了,当网格数量更大,物理模型更为复杂,比如流固耦合传热等,GPU的速率优势更明显,前提是计算机的内存等硬件资源足够。
我们还发现一些情况,首先,企业版GPU求解器下,物理模型只有传热、SST湍流和组分输运三个模型,笔者测试软件是2023R2版本,不知道新版本增加了哪些模型。
其次,默认的迭代收敛标准有所变化,能量标准由1e-6变成1e-5,其他的如连续性、动量和湍流标准由1e-3变成1e-5。