作者MiyaKami (米汉堡)
看板PC_Shopping
标题Re: [菜单] 数值分析用电脑
时间Wed Aug 7 00:18:52 2024
原文删光光
由於前一篇回答此类问题是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多的
不用绘图卡
另外以上只是大方向并非绝对,特别是题型或学术领域不同可能差异很大
也欢迎其他大大补充
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.224.253.101 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PC_Shopping/M.1722961134.A.09B.html
1F:推 Depthsharky: 专业推 看不懂(X 36.228.233.29 08/07 00:24
2F:推 McLaren650S: 推分享 114.45.161.70 08/07 00:25
3F:推 roseritter: 推 以前看学长跑热传模拟PC上贴 111.254.79.76 08/07 00:27
4F:→ roseritter: 动我PC就杀人 实在是要好久XD 111.254.79.76 08/07 00:27
5F:推 Lemon931: 推,想到以前实验室跑模型也是等到唉唉 111.184.29.58 08/07 00:34
6F:→ Lemon931: 叫 111.184.29.58 08/07 00:34
7F:推 E7lijah: 模拟计算真的是优先RAM越大越好 矩阵都存 27.52.66.205 08/07 00:42
8F:→ E7lijah: 在RAM里 尤其体系一旦大起来RAM不够的话 27.52.66.205 08/07 00:42
9F:→ E7lijah: 直接job crash给你看 27.52.66.205 08/07 00:42
10F:推 kimisawa: 什麽都好 就是不要选intel cpu 68.228.69.69 08/07 00:46
11F:→ PlayStation3: 把HT关了会比较快吗 111.71.213.185 08/07 01:41
12F:推 yymeow: 推,真专业心得 114.37.33.131 08/07 01:45
13F:推 andy188: 专业 27.51.42.113 08/07 02:40
14F:推 aasssdddd: 看完发现其实我不需要5950x 只是想要 36.229.49.100 08/07 03:53
15F:推 saito2190: HT的优势还是在多工 1.161.150.118 08/07 04:10
16F:推 jyhfang: 大推 感谢分享 各式各样瓶颈 碰过才知道 220.134.41.251 08/07 04:27
17F:推 ericinttu: 在你旁边说 哇你网格好大喔 114.44.137.74 08/07 05:27
18F:推 xxxx9999xxxx: 推。 223.138.4.9 08/07 06:23
19F:推 sino6445: 专业 49.218.91.249 08/07 07:18
20F:推 tpegioe: 104.32.170.214 08/07 07:30
21F:推 yenchieh1102: 专业 114.26.68.192 08/07 08:16
22F:推 Timberray: 感谢专业分享。 61.56.6.158 08/07 08:19
23F:推 ptta: 感谢分享 220.136.29.196 08/07 08:40
24F:推 dogluckyno1: 推推 36.238.158.153 08/07 08:56
25F:→ MiyaKami: 回PS3:我测试HT关影响不大,而且现在有些 36.224.253.101 08/07 09:39
26F:→ MiyaKami: U或板是不给关的,我也遇过amd关了不稳定 36.224.253.101 08/07 09:39
27F:→ chang1248w: 不能用上gpu吗?精度问题? 140.115.212.91 08/07 09:51
28F:→ MiyaKami: 不行,是算法问题,一些软体大厂有朝GPU加 36.224.253.101 08/07 10:07
29F:→ MiyaKami: 速方向去研发,但是效果差强人意大约加快 36.224.253.101 08/07 10:08
30F:→ MiyaKami: 0~7%且题型限定无法通用,除非演算法打掉 36.224.253.101 08/07 10:08
31F:推 AmibaGelos: 推 ram多多益善 swap会把ssd操坏qq 118.169.83.227 08/07 10:08
32F:→ MiyaKami: 全部重来,或是高手横空出世一个新的逻辑 36.224.253.101 08/07 10:09
33F:→ MiyaKami: 可以无痛转移,不然都是所谓的技术包袱 36.224.253.101 08/07 10:10
34F:推 AmibaGelos: mi300a号称只跑solver matrix就能快4 118.169.83.227 08/07 10:17
35F:→ AmibaGelos: 倍 可惜生态还没起来没法验证通用性 118.169.83.227 08/07 10:17
36F:推 NTUOnline: GPU运算 ==> 要看计算模拟软体支援 111.243.83.181 08/07 10:19
37F:→ NTUOnline: 推这篇, 其实RAM是最最最最最最重要的 111.243.83.181 08/07 10:20
38F:→ NTUOnline: CPU其次. 111.243.83.181 08/07 10:20
39F:推 xiaotee: 推推,做CFD的对切网格的时代变迁深有同 101.8.45.38 08/07 10:25
40F:→ xiaotee: 感 101.8.45.38 08/07 10:25
41F:→ xiaotee: 还在当学生的时候要东调西调才能切出品 101.8.45.38 08/07 10:26
42F:→ xiaotee: 质还可以的网格,现在都一键生成了 101.8.45.38 08/07 10:26
43F:→ xiaotee: GPU运算用在某些情境上还会让算的时间变 101.8.45.38 08/07 10:27
44F:→ xiaotee: 久 101.8.45.38 08/07 10:27
45F:推 samjovi: 25年前用icemcfd切风扇的六面体网格路过 1.200.152.169 08/07 10:44
46F:→ samjovi: 手切大约一星期,当时觉得自己好伟大... 1.200.152.169 08/07 10:54
47F:推 MrDisgrace: 配备够好瓶颈就在I/O XD 202.147.27.106 08/07 10:55
48F:→ MrDisgrace: 各家软体8thread以上边际效益就递减 202.147.27.106 08/07 10:56
49F:→ MrDisgrace: 16以上几乎就没差 有的反降XD 202.147.27.106 08/07 10:56
50F:→ MrDisgrace: 跑有限元素分析建议HT/SMT关一关 202.147.27.106 08/07 10:56
51F:推 MrDisgrace: 系统用Win11/Server2022 202.147.27.106 08/07 10:58
52F:→ MrDisgrace: 不要手动介入CPU调用 让系统处理 202.147.27.106 08/07 10:59
53F:推 MrDisgrace: 关SMT不稳更新BIOS NUMA设AUTO44 202.147.27.106 08/07 11:33
54F:推 edison155188: 写入重要就买optane 122.116.96.220 08/07 14:18
55F:推 cgalen1994: 好奇问SSD raid写入没有加成真的吗? 60.83.212.179 08/07 15:10
56F:→ cgalen1994: 是主版直连还是HBA卡ZFS 60.83.212.179 08/07 15:10
57F:→ cgalen1994: 还是Hardware RAID controller? 60.83.212.179 08/07 15:10
58F:推 Toy17: 专业推 虽然根本看不懂 124.6.29.73 08/07 15:45
59F:推 ray890406: 推 专业140.113.153.210 08/07 16:21
60F:推 MrDisgrace: 大CASE算到後来都在等资料交换XD 202.147.27.106 08/07 17:20
61F:推 joverKJ: 我自己在用MS,化学的软体, 很常开好多 42.73.31.80 08/07 17:41
62F:→ joverKJ: 个运算看工作管理员记忆体才用一半但整个 42.73.31.80 08/07 17:41
63F:→ joverKJ: 程式会直接卡死,这是cpu的问题还是记忆 42.73.31.80 08/07 17:41
64F:→ joverKJ: 体 42.73.31.80 08/07 17:41
65F:→ AmibaGelos: 偶遇过程式malloc一堆空页再free结果 118.169.83.227 08/07 18:12
66F:→ AmibaGelos: vm碎到pagefile占>10%的 这样会ram c 118.169.83.227 08/07 18:12
67F:→ AmibaGelos: pu都没满就卡爆 唯一解是重开机orz 118.169.83.227 08/07 18:12
68F:推 MrDisgrace: 有时候pagefile重设可以解决 59.124.162.228 08/07 18:26
69F:→ MrDisgrace: 不知道是bug还是刚好配在弱磁区? 59.124.162.228 08/07 18:26
70F:推 d030b: 感谢分享 条理分明还有实测结果 36.229.60.91 08/07 19:30
71F:推 FuwafuwaCAT: 好怀念噢 27.247.198.123 08/07 19:42
72F:→ FuwafuwaCAT: 以前老师都只买Intel的cpu直到我自己 27.247.198.123 08/07 19:43
73F:→ FuwafuwaCAT: 买一颗3900X跟他说这个快很多才肯买A 27.247.198.123 08/07 19:43
74F:→ FuwafuwaCAT: MD 27.247.198.123 08/07 19:43
75F:推 bh0527: GPU加速只有流体比较有用,固力模拟不会 122.116.57.29 08/07 19:49
76F:→ bh0527: 加快多少 122.116.57.29 08/07 19:49
77F:推 iq1000x: 时脉是不是要考虑IPC? 42.79.187.162 08/07 20:59
78F:推 sdbb: 谢谢 112.104.64.201 08/07 21:00
79F:推 v86861062: 推 220.134.60.79 08/07 22:22
80F:推 Archer55b6: 水冷是单台机器个人用才可以这样搞吧 111.240.89.3 08/08 10:45
81F:→ Archer55b6: ,多台光保养就搞死人 111.240.89.3 08/08 10:45
82F:→ MiyaKami: To joverKJ:几年前用过 Material Studio 36.224.253.101 08/08 10:53
83F:→ MiyaKami: 这套模组算法很多样, 我简易测试过软体 36.224.253.101 08/08 10:54
84F:→ MiyaKami: 多开稳定性要问厂商,或是存取写入拖到 36.224.253.101 08/08 10:55
85F:→ MiyaKami: 我怀疑是前者,也许是多开造成互抢资源 36.224.253.101 08/08 10:56
86F:推 DrTea: 专业推 223.138.75.137 08/08 12:37
87F:→ DrTea: 跑非线性多网格运算很容易吃满100%导致整台 223.138.75.137 08/08 12:44
88F:→ DrTea: 电脑会卡住,所以通常执行绪不会全开 223.138.75.137 08/08 12:44
89F:推 sflyman: 做CFD做了十几年,深刻认爲自动生成网格 114.46.233.101 08/10 04:26
90F:→ sflyman: 对做正事来说没什麽用。当cpu变快ram变 114.46.233.101 08/10 04:26
91F:→ sflyman: 大,就想去解更复杂的题目,到头来还是 114.46.233.101 08/10 04:26
92F:→ sflyman: 要去手动调整domain内所有的网格设定。 114.46.233.101 08/10 04:26
93F:→ sflyman: 不过现在都直接用自己写code放到HPC系统 114.46.233.101 08/10 04:26
94F:→ sflyman: 去跑就是了 114.46.233.101 08/10 04:26