西门子官网:工程师的 CFD 硬件世界指南
它说,塔是工程师所能拥有的最有用的东西之一。
克拉克·F·道格拉斯
过去十年,用于仿真软件的计算硬件种类繁多,工程师、IT专家和企业都在努力寻找最适合自身应用场景的设备。那么,在不断扩展的硬件领域中,究竟什么才是正确的选择呢?虽然对于这样一个宽泛的问题没有标准答案,但我还是尝试在探索CFD硬件世界的过程中找到答案……
从CFD工程师的角度看薪资的意义
太阳落山时,CFD 工作也结束了。我满意地最后瞥了一眼仍在运行的模拟程序中(目前)不断下降的残差,然后离开了工作场所。但是,CFD 工程师在一天工作结束后会做什么呢?
嗯,有时候我会启动我的私人工作站。作为一名技术爱好者,我会用辛苦赚来的CFD收入购买一些私人硬件……这样我就可以做一些CFD计算了!

随便买个CFD硬件就随便运行一下,这不是我的风格。
这样做可能会导致决策无效或成本过高。
对我个人而言,这可能只是浪费一些时间和金钱,但对公司来说,这种失败的后果可能完全是另一个层面的。
在决定使用CFD硬件之前,我会仔细考虑。
绝对计算能力。我选择的组件能否提升我的系统速度?
效率。我希望我的行为对环境的影响尽可能小,对我的电费账单的影响也尽可能小。此外,效率低下会导致更高的制冷需求,很可能还会带来额外的成本和噪音。
嗯,预算还是有限制的。我仍然在问自己,从我的角度来看,某种性能提升是否值得投资。(“亲爱的,没有这个电脑就没法用! ”)
我的业余爱好并非止于购买和组装CFD硬件。设置与硬件本身同样重要。在进行初步微调之后,我会投入数小时对这台干净、散热良好且性能强大的电脑进行精细调整。为了验证我的配置,我会反复运行相同的CFD模拟,并改变处理器时钟频率,同时监控运行时间和功耗。我不会在这篇博客中赘述PBO、SMT、PPT、FCLK等细节,但重点在于:

对于免费的基准测试软件来说,高低功耗设置和低功耗设置之间的分数差异非常大——在Geekbench 5的Eco/Standard/Overclocked模式下,
分数分别为13k/17k/19k。但CFD却并非如此。
除了极致的节能设置外,我无法通过调整处理器时钟频率来改变运行时间。
然而,功耗的影响却非常巨大——无论是在空闲状态、运行基准测试软件还是CFD程序中,都是如此。
而高功耗不仅会损害环境,还会让你的钱包雪上加霜。

买新CPU,是选择高端产品还是经济型产品?
嗯,仅凭一次模拟测试,我无法完全确定我的方法是否万无一失。
再说一遍,我那小小的CFD硬件系统和工业CFD工程师的宇宙并无本质区别,只是规模不同而已。
如果我做错了决定,损失不过几千美元;而在专业的工业CFD环境下,做错决定的损失大约是V_Galaxy/V_SolarSystem * 1000美元。
因此,专业的CFD硬件基准测试会运行多个标准化案例,每个案例对硬件的各项特性都有不同的要求。
丰富的网格尺寸和物理场种类确保了对所有特性的探索。
像Simcenter STAR-CCM+这样的快速CFD代码依赖于计算中的两大支柱,它们对模拟时长都有影响:
原始计算速度。对于CPU而言,这取决于核心数量、时钟频率和每周期指令数(IPC)。
内存容量、内存速度、内存带宽。
最大化缓存容量可以实现最大的相对加速。
缓存是位于处理器内部的存储器——它离实际计算核心越近,速度就越快。
但是,由于空间越靠近核心越有限,因此很难在这里获得大容量缓存。
缓存分为三级:L1 到 L3,分别对应从近到远、从快到慢的顺序。

提升CFD仿真速度不仅仅取决于时钟频率和核心数量:拥有更大缓存的处理器可以弥补CFD仿真中核心数量或时钟频率的不足。
在计算流体动力学 (CFD) 计算中,拥有更大缓存的处理器可以弥补核心数量或时钟频率的不足。
这种趋势不仅体现在笔记本电脑和台式机 CPU 上,也体现在AMD EPYC®等服务器处理器上。
但如今,原始速度并非唯一的衡量标准。
正如我的账单所示,能源成本在模拟总成本中占据了相当大的比重。
新一代处理器可以有效降低这一成本,因为更多的核心和更大的缓存并不一定意味着更高的能耗。
或者用 CFD 术语来说:在相同的模拟条件下,无论你投入相同的功率但持续时间更短,还是投入更少的功率但持续时间相同,都能节省能源。

显然,尽管基于 CPU 的高性能计算是 CFD 硬件领域中最古老的明星,
但凭借创新技术,即使实现超线性扩展,基于 CPU 的高性能计算仍然是 CFD 模拟的关键动力源。
CFD 仅仅是一场游戏吗?GPU 能胜任吗?
升级CFD硬件时,你可能会遇到“兼容性瓶颈”。我已经从上一代CPU升级了。
但我找不到理由同时更换主板、CPU和内存,所以只剩下这一个办法了!
我刚开始接触计算流体动力学(CFD)的时候,没人想到可以用显卡来求解纳维-斯托克斯方程。
显卡是用来玩游戏的!为了快速计算图像,显卡(GPU)通常会使用大量的计算单元。
速度很快,但用途过于单一。近几年,它们被通用化,用于GPU上的通用计算(GPGPU)。
不过,每个厂商对这些计算核心的命名仍然各不相同。
即使在今天,消费级显卡也几乎无法胜任工业规模的CFD模拟。但这是为什么呢?
流场的网格离散化直接影响需要迭代求解的数据量。
这种离散化及其包含的所有流体物理量,例如压力、三个方向的速度、温度等等,会产生大量数据。
根据经验,我通常认为网格中每百万个单元需要 2 GB 的内存。试想一下以下情况:
网格大小为 3000 万,因此需要 60 GB 内存。
一次迭代耗时60秒。
一次模拟需要 1000 次迭代。

内存——这是GPU加速CFD的主要瓶颈。
如果内存不足,仿真需要将数据从高速内存传输到另一个设备。
即使在最快的系统中,每次迭代都要来回写入这 60 GB 的数据也会耗费大量额外时间。
而且这只是一个小型水力旋流器案例,并非大型汽车外部空气动力学案例。
为什么如今消费级显卡几乎不适合计算流体动力学(CFD)应用?
好吧,给我推荐一款配备 60GB 显存的显卡!而你却可以“轻松”地在消费级台式机里装下 128GB 内存,或者在笔记本电脑里装下 64GB 内存……
但在工业CFD环境中,无论如何都需要强大的性能。
随着CFD硬件的进步,多GPU工作站和服务器的内存已经达到数百GB。
虽然这仍然比基于CPU的CFD硬件的内存容量低一个数量级,但对于CFD来说已经足够了。
由于GPU的工作方式与CPU不同,Simcenter STAR-CCM+的代码会迭代地移植到GPU上——速度提升巨大!
每次新版本发布,都会有更多物理模型可以在GPU上执行。
由于一个GPU可以替代数百个CPU核心,因此在相同的模拟过程中,能耗和时间都会减少数倍。
在单个刀片服务器上一夜之间完成大涡模拟已成为可能!
即将发布的 Simcenter STAR-CCM+ 2302 版本将计算所需的内存减少高达 40%。
这使得更多用例能够在更小的 GPU 上运行,从而提高了可用性,并将以往“每百万个单元 2 GB 内存”的经验法则改为每百万个单元 1.25 GB 内存。此外,运行时间也最多可缩短 10%。

物联网?物联网的计算流体动力学!ARM处理器即将统治世界!
CPU和GPU并非最常见的计算设备。
我们每天都被各种各样的“智能”设备包围——也许你现在手里就拿着一个。
我妻子不明白我为什么这么频繁地更换电脑配件。
我也不明白为什么她的手机比电脑还贵,而我的手机却像个老式蒸汽电话,还带个可伸缩天线。
我不确定造成经济差异的根本原因是什么——是我的电脑硬件,还是她每年更换手机。

但这一切可能在 CFD 代码能够在手机上运行的那一天就立即改变!
就像手机一样,“智能”微波炉、冰箱和一些服务器也使用一种名为 ARM 的处理器。
无论你读到这篇博客时是否了解这个缩写的含义——这些设备与我们的笔记本电脑和台式机处理器有所不同。
笔记本电脑和台式机的 CPU 使用一种名为 x86 的架构,它依赖于所谓的“CISC”(复杂指令集计算机)。
所有发送给 CPU 的指令都可以看作是执行特定操作的详细信息。
这些指令需要多个时钟周期才能执行——这体现在“每周期指令数”(IPC)指标中,该指标决定了处理器的速度。
与此相反的是 ARM 中的 R,它代表 RISC——精简指令集计算机。
其理念非常简单:将指令简化到每个时钟周期只执行一条指令,即 IPC = 1。
这种方法可以减少指令的数量,并简化指令。
每个时钟周期执行一条指令。
总的来说,ARM 与普通 CPU 还有一些其他区别:
说明文字比较简单。
不同指令的数量(或者说指令库)较小。
时钟频率较低。
核心数量更多!我的手机有八个核心,我的笔记本电脑只有六个。
大多数处理器并不支持同时多线程——即每个核心运行两个或多个线程。
实际上,CFD 在任何 CPU 上都无法从多线程中获益,所以这没关系!
一个附带好处是:与标准 x86 CPU 相比,执行这些指令非常节能。
正是这种节能特性使得移动电话和许多物联网设备都依赖于这项技术。
但缺点是:为桌面 CPU 设计的应用程序将无法运行(除非进行模拟,但这效率低下)。
不过,对于新设计的特殊软件来说,这并不重要——因此,像 AWS EC2 这样的服务器就使用了这种 ARM 架构的处理器。
它们比其他 CPU 更节能,因此也更具成本效益。
虽然它们的时钟频率远低于其他 CPU,但它们的每瓦性能却极具竞争力,因此性价比也更高!

随着2月22日发布的最新版本,Simcenter STAR-CCM+ 2302 也已适配这些 ARM 服务器,比在 x86 CPU 上运行更具成本效益。
因此,您将能够以前所未有的方式更环保、更经济高效地运行您的 CFD 硬件,而我只需通过 ARM GUI 即可在我的手机上部署 Simcenter STAR-CCM+!
在本地观察残差,在云端运行全球模拟!
我想我不想等到手机完全可以胜任CFD硬件的工作。其实移动设备早就能够运行模拟程序了。
关键在于不要再用自己的设备进行模拟。
在某些行业,模拟需求并非恒定不变。
自有的CFD硬件要么闲置不用——就像我的个人工作站一年中的大部分时间那样——要么就超负荷运转,以至于你不得不和同事们玩“抢占先机”的游戏。而且,当你急需为即将到来的项目获取结果时,计算能力却总是捉襟见肘。如果我因为刚刚用sudo命令删除了操作系统的一些关键组件,就得为每一次维护和每一次在线搜索付费……这简直太糟糕了。
这个问题就留给有心的读者思考吧。
Simcenter STAR-CCM+ 提供了一个用于云仿真的内置解决方案:Simcenter Cloud HPC。
无需选择CFD硬件。
无需对服务器进行编程。
无需维护。
无需每年重新投资购买新的CFD硬件。
只需点击两下即可获得模拟结果——唯一的问题是:您希望多快获得结果?
CFD硬件地图上的最佳方向
无论哪种方案最适合您,Simcenter STAR-CCM+ 都能充分利用 CFD 硬件的最新发展趋势,从而提高能源效率、降低成本、减少 IT 开销并加快仿真速度。所有方案都提供出色的多节点可扩展性:
灵活的 x86 处理器广泛应用于服务器、工作站和笔记本电脑中。
在工作站和服务器上使用 GPU 计算,可实现卓越的能源效率。
ARM 处理器提供了一种可持续的途径,降低了每次模拟的成本。
Simcenter Cloud HPC 是一个内置的可扩展解决方案,无需维护。

“哪种 CFD 硬件最好?”这个问题的答案是 42。
这确实取决于您的项目、预算和当前优先级,但我希望以上见解能帮助您在 CFD 硬件领域找到方向。
作为经验法则,我总结如下:
x86 CPU 运行仿真程序已经很久了。所有求解器最初都是针对这个平台开发和验证的。
寻找配备最大缓存的 CFD 硬件——服务器、工作站、笔记本电脑等等。
Simcenter STAR-CCM+ 在这些集群上展现出超线性加速可扩展性。点击此处了解更多信息。如今,GPU 支持大多数求解器,软件也将进一步适应这一趋势。此解决方案非常节能。
请务必仔细检查您所需的求解器是否受支持(我们正在快速扩展移植的求解器范围),并满足您的应用场景的内存需求。
即将发布的 Simcenter STAR-CCM+ 2302 版本将内存需求降低近 40%,并且与上一版本相比,速度还将提升 10%。
这样,您可以充分利用多 GPU 工作站和 GPU 集群的性能。ARM 处理器支持除图形用户界面之外的所有功能。这是一种经济高效的计算方式,尤其适用于云服务。
Simcenter STAR-CCM+ 2302 版本支持此 CFD 硬件,可帮助您降低成本。Simcenter Cloud HPC是一个非常简便的解决方案。无需投资昂贵的计算硬件,没有闲置成本,并且可以按需扩展!
2 月 22 日,旗舰级 Simcenter STAR-CCM+ 2302 将震撼上市,带您探索不断扩展的 CFD 硬件世界。