原文删光光
由于前一篇回答此类问题是2019年,也还在这个领域工作就干脆更新一下
数值分析套装软件很多种,
常见有ANSYS LS-DYNA ABAQUS Fluent COMSOL这类泛用型物理模拟
也有许多化学类的模拟软件(我不熟)
而这类软件的核心都是从"解偏微分方程式"这个目标衍伸而来的
其运作流程是
1. 几何资讯(CAD)离散化,也就是俗称的切网格
2. 矩阵组合,解反矩阵,这是所谓的求解计算
3. 结果产出
如何配置一台符合预期的计算主机也可从上面3点一一解释
1.切网格部分目前绝大多数软件都是自动切分网格,使用者只需要手动
输入一个尺寸(最多再输入最小尺寸),软件会自动铺设并且还会制作过度元素
这在20~30年前是想不到的功能,我公司前辈讲古说因为以前内存不够大
大概是配个512MB到1G,工程师会觉得公司好舍得给我好的电脑配备
因为网格数量会直接占用内存,即使是矩阵0区不计算也会划分空间留用
所以老工程师会手动制作网格,用各种花式手法去制作精良(品质良好)的网格
甚至会简化原始模型,例如拿掉不重要区域的导R角,
然后把 "mesh is art" 这句话挂在嘴边(一脸秋样),
其这些手法都是为了降低内存使用,因为矩阵大于内存是不能计算的
软件方因应方法曾开发了一个 swaping 功能,其实就是把硬盘当内存用,
来避免"不能算"的状况发生,也能想像到这样的计算速度会有多慢了
但算得慢总比不能算来得好,至于手动制作网格学习成本太高,也不会有妹子
在你旁边说 哇你网格好强喔
手动做三天,自动只要3分钟 所以不建议学这个
现在王道就是自动网格然后买大内存+高时脉多核心CPU硬干就是了
所以内存选择越快越好,买到多大取决于你的模型有多大,
不知道模型会有多大,那就买满现在能插满的
2.矩阵求解部分,这个需要看题目,简单说就是如果是一般大小的线性题目基
本上几分钟到几十分钟就会解完了,阿就解一步反矩阵是会多慢,如果是频率
域算太久,你要先想是不是选错扫频策略
所以这部分会预先假设做的题目是时域非线性(学术上才称得上有一些些难度),
在非线性求解过程,会有非常多步的迭代跟时间增量步,简单说就是会一直try
解反矩阵~验证收敛性~反复做,在这个步骤CPU效能是吃满的,所以CPU的时脉
直接决定了解题快慢
基于这个架构要谈几件事:
a. 核心数不等于执行绪,这个是某家起的坏榜样,超执行绪(Hyper Threading)
技术是~我赌你使用电脑时不会一直让CPU很忙碌,所以我把一个核心模拟成
两个核心,这样看起来框框超多的,卖相很好
很抱歉,在模拟过程还真是CPU满载,所以16C/32T开启平行32核,你会发现一件
神奇的事情,原本要加速反而速度变更慢,因为资源互抢了
b. 快取的重要性,因为使用到平行计算功能(intel MPI/MS MPI),在数据的吞
吐频率跟资料大小,因为软件不同也不甚熟悉无法详述,依照之前资工资源
班上课老师说的~快取buffer是预先读取前后几十行的程式码,让使用者操作
不卡顿,在计算上SMP平行计算效能是会集中调配使用,这部分快取就很重要
我也实测过,快取越多效率越好,快取像便宜白菜给的AMD,我只能给个赞
c. 时脉,CPU规格上面会有两种时脉,一个是基本时脉,另一个是turbo时脉
turbo时脉讲的是单核使用时的极限,还可能根据体质以及散热而无法达到此值
所以在使用上建议买32C/64T 满载最多用到16C
我这边上上个月配的 TR 7980 32C/64T (5.3 / 4.0 GHz)
测试非线性物理专用型CAE
32C 4.2 ~ 4.5 GHz (常时 4.2 GHz)
16C 4.8 ~ 5.0 GHz (常时 4.8 GHz)
基本上会跳动偏高,观察怀疑是迭代完成准备存取下一步时的喘息时段
所以原PO买了7985也不用烦恼,测测看 32C/64C 再决定要不要开满
3.结果产出部分,就是把计算完的某个时间点结果存到硬盘
这时取决的就是硬盘写入速度了,
其实这二十年来电脑硬件进步神速,内存便宜又大,CPU核心数比前女友还多
最后还是被硬盘速度拖到,在SSD还没普及的时候,算一个非线性题目常是2天
起跳,当装了SSD后同题目竟然可以剩下10多小时,可见硬盘写入速度有多拖
沓,现在 Gen 4 到 Gen 5 才隔没几年,这种进步速度让我期待接下来的发展
当然也可以在软件设定上面减少结果存盘数量也能做到加速的效果,但不保证
会不会漏看什么重要的物理现象
上礼拜计算的一个题目档案存了100多Gb算是特例,但是5Gb~10Gb应该是跑不掉
然后还是要提醒一下 SSD 做 RAID 只有读取有加速受惠,写入没有
结论:
必要零件选用优先度
1. RAM 决定了能计算的题目大小,有余裕就买满
2. CPU 时脉越高越好>核心数(取决使用的软件)>快取
3. 硬盘读取写入(特别是写入)速度越快越好,
然后容量大小评估一下,或是习惯常清空间
其他零组件
CPU水冷必备,跑个题目可能要几天,你也不希望热当机重跑吧
显卡看模型结果复杂度(分辨率/网格数),网格太多可能会卡顿,选个vram多的
不用绘图卡
另外以上只是大方向并非绝对,特别是题型或学术领域不同可能差异很大
也欢迎其他大大补充