PTT推薦

Re: [菜單] 數值分析用電腦

看板PC_Shopping標題Re: [菜單] 數值分析用電腦作者
MiyaKami
(米漢堡)
時間推噓42 推:42 噓:0 →:46

原文刪光光

由於前一篇回答此類問題是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 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.253.101 (臺灣)
PTT 網址

Depthsharky 08/07 00:24專業推 看不懂(X

McLaren650S 08/07 00:25推分享

roseritter 08/07 00:27推 以前看學長跑熱傳模擬PC上貼

roseritter 08/07 00:27動我PC就殺人 實在是要好久XD

Lemon931 08/07 00:34推,想到以前實驗室跑模型也是等到唉唉

Lemon931 08/07 00:34

E7lijah 08/07 00:42模擬計算真的是優先RAM越大越好 矩陣都存

E7lijah 08/07 00:42在RAM裡 尤其體系一旦大起來RAM不夠的話

E7lijah 08/07 00:42直接job crash給你看

kimisawa 08/07 00:46什麼都好 就是不要選intel cpu

PlayStation3 08/07 01:41把HT關了會比較快嗎

yymeow 08/07 01:45推,真專業心得

andy188 08/07 02:40專業

aasssdddd 08/07 03:53看完發現其實我不需要5950x 只是想要

saito2190 08/07 04:10HT的優勢還是在多工

jyhfang 08/07 04:27大推 感謝分享 各式各樣瓶頸 碰過才知道

ericinttu 08/07 05:27 在你旁邊說 哇你網格好大喔

xxxx9999xxxx 08/07 06:23推。

sino6445 08/07 07:18專業

tpegioe 08/07 07:30

yenchieh1102 08/07 08:16專業

Timberray 08/07 08:19感謝專業分享。

ptta 08/07 08:40感謝分享

dogluckyno1 08/07 08:56推推

MiyaKami 08/07 09:39回PS3:我測試HT關影響不大,而且現在有些

MiyaKami 08/07 09:39U或板是不給關的,我也遇過amd關了不穩定

chang1248w 08/07 09:51不能用上gpu嗎?精度問題?

MiyaKami 08/07 10:07不行,是算法問題,一些軟體大廠有朝GPU加

MiyaKami 08/07 10:08速方向去研發,但是效果差強人意大約加快

MiyaKami 08/07 10:080~7%且題型限定無法通用,除非演算法打掉

AmibaGelos 08/07 10:08推 ram多多益善 swap會把ssd操壞qq

MiyaKami 08/07 10:09全部重來,或是高手橫空出世一個新的邏輯

MiyaKami 08/07 10:10可以無痛轉移,不然都是所謂的技術包袱

AmibaGelos 08/07 10:17mi300a號稱只跑solver matrix就能快4

AmibaGelos 08/07 10:17倍 可惜生態還沒起來沒法驗證通用性

NTUOnline 08/07 10:19GPU運算 ==> 要看計算模擬軟體支援

NTUOnline 08/07 10:20推這篇, 其實RAM是最最最最最最重要的

NTUOnline 08/07 10:20CPU其次.

xiaotee 08/07 10:25推推,做CFD的對切網格的時代變遷深有同

xiaotee 08/07 10:25

xiaotee 08/07 10:26還在當學生的時候要東調西調才能切出品

xiaotee 08/07 10:26質還可以的網格,現在都一鍵生成了

xiaotee 08/07 10:27GPU運算用在某些情境上還會讓算的時間變

xiaotee 08/07 10:27

samjovi 08/07 10:4425年前用icemcfd切風扇的六面體網格路過

samjovi 08/07 10:54手切大約一星期,當時覺得自己好偉大...

MrDisgrace 08/07 10:55配備夠好瓶頸就在I/O XD

MrDisgrace 08/07 10:56各家軟體8thread以上邊際效益就遞減

MrDisgrace 08/07 10:5616以上幾乎就沒差 有的反降XD

MrDisgrace 08/07 10:56跑有限元素分析建議HT/SMT關一關

MrDisgrace 08/07 10:58系統用Win11/Server2022

MrDisgrace 08/07 10:59不要手動介入CPU調用 讓系統處理

MrDisgrace 08/07 11:33關SMT不穩更新BIOS NUMA設AUTO44

edison155188 08/07 14:18寫入重要就買optane

cgalen1994 08/07 15:10好奇問SSD raid寫入沒有加成真的嗎?

cgalen1994 08/07 15:10是主版直連還是HBA卡ZFS

cgalen1994 08/07 15:10還是Hardware RAID controller?

Toy17 08/07 15:45專業推 雖然根本看不懂

ray890406 08/07 16:21推 專業

MrDisgrace 08/07 17:20大CASE算到後來都在等資料交換XD

joverKJ 08/07 17:41我自己在用MS,化學的軟體, 很常開好多

joverKJ 08/07 17:41個運算看工作管理員記憶體才用一半但整個

joverKJ 08/07 17:41程式會直接卡死,這是cpu的問題還是記憶

joverKJ 08/07 17:41

AmibaGelos 08/07 18:12偶遇過程式malloc一堆空頁再free結果

AmibaGelos 08/07 18:12vm碎到pagefile占>10%的 這樣會ram c

AmibaGelos 08/07 18:12pu都沒滿就卡爆 唯一解是重開機orz

MrDisgrace 08/07 18:26有時候pagefile重設可以解決

MrDisgrace 08/07 18:26不知道是bug還是剛好配在弱磁區?

d030b 08/07 19:30感謝分享 條理分明還有實測結果

FuwafuwaCAT 08/07 19:42好懷念噢

FuwafuwaCAT 08/07 19:43以前老師都只買Intel的cpu直到我自己

FuwafuwaCAT 08/07 19:43買一顆3900X跟他說這個快很多才肯買A

FuwafuwaCAT 08/07 19:43MD

bh0527 08/07 19:49GPU加速只有流體比較有用,固力模擬不會

bh0527 08/07 19:49加快多少

iq1000x 08/07 20:59時脈是不是要考慮IPC?

sdbb 08/07 21:00謝謝

v86861062 08/07 22:22

Archer55b6 08/08 10:45水冷是單台機器個人用才可以這樣搞吧

Archer55b6 08/08 10:45,多台光保養就搞死人

MiyaKami 08/08 10:53To joverKJ:幾年前用過 Material Studio

MiyaKami 08/08 10:54這套模組算法很多樣, 我簡易測試過軟體

MiyaKami 08/08 10:55多開穩定性要問廠商,或是存取寫入拖到

MiyaKami 08/08 10:56我懷疑是前者,也許是多開造成互搶資源

DrTea 08/08 12:37專業推

DrTea 08/08 12:44跑非線性多網格運算很容易吃滿100%導致整台

DrTea 08/08 12:44電腦會卡住,所以通常執行緒不會全開