数值风云

[转]简单CFD算例中不同CPU,GPU的性能对比

本文主要包括以下几个部分:
  1. 简单CFD算例的介绍
  2. 定常计算结果展示
  3. 非定常计算参数的说明,非定常计算结果展示
  4. 不同平台下不同CPU以及GPU非定常计算速度差异对比

1. 算例介绍

本文使用的算例是准一维(y方向两个网格点)拉伐尔喷管。
进口边界条件:总压121325Pa,总温300.0K
出口边界条件:静压101325Pa

CPU编译器(Windows):Intel® Fortran Compiler Classic 2021.5.0
CPU编译器(Linux):Intel(R) Fortran 64 Compiler Version 17.0.4.196
GPU编译器(Linux):nvfortran 21.9-0

2. 定常结果展示

上面展示的是定常计算时连续方程的残差随迭代步数的变化,在不同的平台以及不同的硬件上的计算结果具有很好的一致性,并且计算可以收敛到机器精度。



以上三个图展示的分别是密度,压力,马赫数分布云图,是为了计算结果的可靠性。

3. 非定常计算参数说明

对于非定常计算,为了充分发挥计算硬件的性能,在x方向划分了50,000个网格点。
通过背压余弦形式扰动的方法引入非定常性,扰动频率为100Hz,幅值为定常背压的2%。
采用双时间步法进行求解,物理时间步长为一个扰动周期的1/200,一步外迭代中采用1000步内迭代。


上图所示为不同平台以及不同硬件下,密度残差随迭代步数的变化情况。两条曲线完全重合,验证了计算结果的可靠性。
后面关于计算结果将不再过多说明,将重点放在计算耗时的对比上。
下面的视频展示了三个周期内,扰动在喷管中的发展和传播过程,可以看到激波位置在来回变化。

4. 不同平台下不同CPU以及GPU非定常计算速度差异对比

目前测试的平台有Windows, Ubuntu和CentOS。
测试用的CPU包括AMD和Intel旗下多款消费级和专业级产品,对于CPU上的计算,均采用单核计算(还未考虑多核性能);GPU用的是NVIDIA GTX 2080.
为了使结果更加直观,用NVIDIA GTX 2080的计算时间来进行归一化。下图中第一部分的结果来自于Linux操作系统(CentOS和Ubuntu),第二、第三部分都来自Windows操作系统。

针对上述计算时间的说明:上述计算耗时只是较为粗略的测试,未能有效控制所有变量相同,结果并不绝对,仅供参考。
欢迎大家提供宝贵建议和意见。
感谢微信群“连续介质模拟”和“流体机械CFD”群友提供的测试数据!CFD相关问题欢迎加入由“连续介质模拟”群友创建的数值风云论坛交流。https://cfd.pub/


经授权转载自微信公众号: Turbo solver

如果说CPU用单核计算和多核的GPU对比是不是不够公平
志强系列线程优秀,酷睿系列主频强
只对比单核感觉怪怪的
但至少找到一个工作站cpu性能的直观天梯图了
感谢