CAE高性能计算的实践经验

  • 型创科技 / 罗伟航 应用工程师
  • (转载自繁体版ACMT电子技术月刊No.085)

前言

在做了许多不同类型、制程的CAE项目后,对于CAE的计算速度上有了一些实践经验。有很多工程师会认为,使用越多的核心进行并行运算,速度就会越快,把越多的服务器或计算机串起来同时跑一个项目,速度就会越快。但实际上这些做法是不对的。本文主要对CAE工程师提供一些硬件和计算参数上的建议。

 

各硬件对CAE计算的作用

首先我们得弄清楚,一台服务器中,不同硬件对CAE分析都有什麽作用。

  • 处理器(CPU)

处理器是一台计算机的大脑,也是一个项目分析快慢的核心硬件。此处建议选择核心数目高的、处理器基本频率高的处理器。

  • 内存(RAM)

内存的大小对于能做多大网格规模的项目有影响,大的内存可以支持更大网格规模的项目,以及影响后处理的处理速度。建议百万级别的网格规模,使用64GB以内的内存便足够,千万级别的网格规模则需要具体评估,建议使用64GB以上的内存。

  • 存储

存储有分机械硬盘和固态硬盘(SSD),固态硬盘的读写速度会更快,一般建议CAE软件安装在固态硬盘中,但大容量的固态硬盘价格较贵,所以低预算使用者分析后的项目也可存在机械硬盘中。机械硬盘建议配置CMR垂直盘,不建议用SMR叠瓦盘(虽然比较便宜,但正常使用读写的情况下,寿命一般只有两年,本人用坏过两块,过了2年保修期后便很容易坏掉,一般只存不重要的数据)。

  • 网卡(NIC)

如果使用远端计算,或多台服务器串联,以丛集计算的方式进行分析,则对网卡也有要求。在网络带宽足够的情况下,建议配置万兆网卡。避免数据传输时间太长。

由于显示卡(GPU)的配置高低对CAE分析不起加速作用。所以显示卡可以直接使用CPU自带的核显,或NVIDIA Quadro系列的绘图显卡。

关于计算速度的问题

使用越多核心数,分析速度越快?

这种说法不准确,假设现在要计算一个1万网格的项目,使用4个核心计算的速度可能比32核心计算的速度要快。如果是20万的网格,可能4核心计算速度和32核心计算速度差不多。但如果是百万级别、千万级别的网格,这时候32、64核心和8、16核心的计算速度差异才能体现出来。因为多核心在进行平行运算时(以32核心为例),首先需要将模型进行区域分割,将模型的计算区域分配给每个核心的计算节点。即需要先分成32份子区域来计算,且在平行运算中,资料会在子区域之间频繁的交换,而这种数据交换会影响整体计算的速度。因此计算效率和资料交换的速度以及交换的资料量有直接关联。所以如果网格量较少的项目,更推荐使用少量的核心进行计算。百万级别以上的网格,这个就需要根据求解配置、模型复杂程度来对比研究使用多少个核心计算。

 

核心数、线程数的区别

对于CAE来讲,分析速度主要与CPU的内核数目有关,而在打开超线程的状态下,如32核心的计算机,会有64条线程数。此时分析参数会显示最高可用64数目进行计算。这种状态下,我建议就用32核心进行计算。只用核心数计算90%是最具效率的,在某些情况下,可能48线程速度会略快,但这和CPU、内存有关,没有普遍性。因此如果你不太熟悉计算机硬件,建议就以核心数目作为上限进行计算。

 

是否需要关闭超线程?

这个同样是有争议的一点。打开超线程,不同的CPU、内存下的结果可能都不一样。如32核心的计算机,关闭超线程,使用32数目进行分析,则CPU会一直处于满载状态,此时计算机可能会变得很慢很卡顿。而如果打开超线程,使用32数目进行分析,则CPU会剩下10~20%的资源,计算机可以处理其他工作。而两者的分析速度几乎相同或超线程稍慢一点。此处建议如果是多人使用的计算节点,建议关闭超线程。如果是个人使用,可不关闭,自行调整。

 

1台双路CPU服务器还是2台单路CPU服务器

假设1台16核的服务器效能为1的话,1台双路CPU(16核+16核)的效能大概为1.8,而两台16核CPU组成的服务器组的效能由于需要通过网络传输交换数据,最终可能只有1.5。而塔式服务器串接的服务器组,效率会比机架式服务器串接的服务器组更差。因此如果需要做服务器组,建议用机架式服务器,且网卡的配置也需要跟上。

 

系统对计算速度的影响

相同配置下,Linux系统比Windows系统的计算速度更快。但Linux系统只能作为计算节点运算,前后处理仍需要Windows系统下的CAE软件进行。

 

桌面级CPU和服务器级CPU

以Intel的CPU为例,服务器级的CPU如至强系列,核心数可更高,可支持更大的内存,且更稳定。所以如果是专业分析的企业,首选是服务器而非个人计算机(PC)。如果你的预算不高或分析的项目比较简单,那麽桌面级的CPU如酷睿系列,也是不错的选择。但此处需要注意的是,如果仅作为分析运算的话,建议选择酷睿11代或以前的CPU,因为12代开始使用「大小核」的架构,将CPU核心分为性能核(Performance-core)和能效核(Efficient-core),如24核心数的i9第13代CPU,含有8个性能核以及16个能效核。当使用多核心进行平行运算时,有时会出现只有性能核满载,能效核不运算的问题。该情况下,分析速度会异常慢甚至完全停滞。后续本人有尝试用其他软件解决能效核不运算的问题,但由于两种核心的单核心运算速度不一,造成了用(8性能核+8能效核)分析反而比8性能核分析要慢。因此如果非专业者,建议使用服务器或11代前的酷睿CPU。

 

写在最后

这篇文章虽然不是射出模具相关知识,但却是让很多CAE使用者都头痛过的问题。花了大价格配置的服务器,结果分析速度提升不明显。或用多核心分析低网格的项目,资源分配不合理。作为一名CAE工程师,除了要了解前后处理、结果判读、射出工艺等专业技能外,仍需对硬件的作用、软件的计算参数及求解方法有所了解,这样会更有利于工程师合理分配资源。对于这些问题,希望这篇文章能够有所解答,有不正确的地方欢迎指正。

点击看更多技术资讯

登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP