PTT,  電腦硬體購買

[請益] 桌機升級能快幾倍?

請問各位先進:

我的桌機跑一種演算法,每次約48-72小時,雖然現有6核心,但因為它單程序單緒
執行,所以多核心並沒有什麼用 (註:多程序multiprocessing研究過,但是子程
序除錯太困難,目前解決不了,而多緒multithreading的話會有衝突),所以只能
增加CPU的時序頻率(clock speed)。目前規格如下:CPU是Intel i5-9400F基頻是
2.9GHz,但我看到的是3.88GHz (可能是turbo-boost)。如果我升到Intel i7-
14700K,基頻是3.4GHz(還是2.5GHz?),但turbo-boost是5.6GHz,這樣是不是至
少快1.447倍?可能因為架構、快取還會快一點吧?但就算快2倍也是很有限,有機
會快個8倍、10倍嗎?我的程式大部份是Python/DataFrame運算,所以應該是CPU-
bound會主,現在運行時約30%以下而已。記憶體目前是配到48G但都是DDR4,如果
換主機板也得換DDR5。另外是散熱據說要換水冷,這樣CPU速度才會穩,這應該也
有成本。想請教大家可能的升級方案和方向,感謝先。

Device name DINODT2020
Processor Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz 2.90 GHz
Installed RAM 48.0 GB (39.9 GB usable)
Device ID F68BCF4C-F93B-40C3-85BC-53A6F5983C6F
Product ID 00326-00852-28602-AAOEM
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display

Edition Windows 10 Home
Version 22H2
Installed on ﴲ020/ﴷ/ﴷ
OS build 19045.4170
Experience Windows Feature Experience Pack 1000.19054.1000.0

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.238.10 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1711889781.A.BF8.html

Depthsharky: 你要換AM5才需要DDR5吧 61.228.64.113 03/31 20:58
Smallsh: 看看有沒有別的庫可以用 36.232.231.79 03/31 20:58
Depthsharky: I家14代也是能配ddr4主板阿 61.228.64.113 03/31 20:58
Smallsh: 從C-extension來的庫可能比較快 36.232.231.79 03/31 20:58
phoque: 程式碼沒有很機密的話看有沒有板友幫你試101.137.161.206 03/31 21:00
Depthsharky: 或者說你預算多少啊 只要單核高時脈 61.228.64.113 03/31 21:00
Depthsharky: 的U就行? 61.228.64.113 03/31 21:00
Depthsharky: 新舊代架構差異那麼多 只看時脈也不 61.228.64.113 03/31 21:03
Depthsharky: 準確吧 61.228.64.113 03/31 21:03
mrme945: 居然有人用時脈直接換算效能 蠻好笑的 111.71.214.80 03/31 21:04
smallreader: 9400F 現在動不動5GHz以上 會很有感 111.254.172.30 03/31 21:04
smallreader: 多緒還好吧 就分解成小問題去解? 111.254.172.30 03/31 21:08
sm981512: 推土機5G放到現在也只是被屌打 223.139.66.33 03/31 21:14
otosaka: 3.88/5.6=1.44 可以這樣換算效能?? 118.166.80.250 03/31 21:17
smallreader: 多少可以吧 不都是Skylake一脈相承? 111.254.172.30 03/31 21:18
dinohsu1019: 預算的部份我得看有什麼選項才能決定 219.68.238.10 03/31 21:20
dinohsu1019: 這台原來含2060記得是2萬跑圍棋AI用 219.68.238.10 03/31 21:21
dinohsu1019: 現在改跑演算法升級合不合適也有疑問 219.68.238.10 03/31 21:22
Depthsharky: 整台型號打完整 才看哪些好沿用阿 61.228.64.113 03/31 21:22
Depthsharky: 顯卡 RAM繼續用沒問題啊 61.228.64.113 03/31 21:23
Depthsharky: PSU過保就換 殼也可 除非是特規 61.228.64.113 03/31 21:23
abc21086999: 只好學C了,把Python 砍掉 114.36.182.39 03/31 21:31
skyrain1234: 也沒辦法給你講會快多少,只能看有沒 123.192.228.41 03/31 21:37
skyrain1234: 有實測 123.192.228.41 03/31 21:37
skyrain1234: 但論單核性能14700跟14600k相差其實 123.192.228.41 03/31 21:41
skyrain1234: 不大 123.192.228.41 03/31 21:41
smallreader: 除了12代外都在擠牙膏 不然就乘上12 111.254.172.30 03/31 21:42
smallreader: 代的IPC進步好了 也不超過2倍 111.254.172.30 03/31 21:42
justice2008: 你不如多開幾個6-12核中階的電腦 114.32.14.43 03/31 21:57
justice2008: 每個丟任務分攤壓力 114.32.14.43 03/31 21:58
commandoEX: 先看看你的程式有沒辦法用到新的指令 118.171.141.83 03/31 22:39
commandoEX: 集,像是AVX AVX2之類的,把這些性能 118.171.141.83 03/31 22:40
commandoEX: 都榨出來再來換U 118.171.141.83 03/31 22:40
weiber82: 資料能切開的話就能分process執行了 203.77.61.19 03/31 22:43
dinohsu1019: 多機平行應該是dask,不過要研究 219.68.238.10 03/31 23:56
smallreader: 能拆成多機平行前 多緒就能有辦法了 111.254.172.30 03/31 23:58
Smallsh: 祈禱noGIL python早日出生XD 36.232.231.79 04/01 00:12
dinohsu1019: 看來Intel CPU發展並不在倍增時脈 219.68.238.10 04/01 00:22
dinohsu1019: 而是加強平行處理 219.68.238.10 04/01 00:23
dinohsu1019: 我應該考慮多緒的寫法才對 219.68.238.10 04/01 00:23
dinohsu1019: 數十個DataFrame的計算要用工作切開 219.68.238.10 04/01 00:24
dinohsu1019: 多程序確實太難除錯了 219.68.238.10 04/01 00:27
Kazama168: 你有沒有試過把其他核心關掉只留幾個 27.53.130.131 04/01 00:28
Kazama168: 超上去 27.53.130.131 04/01 00:28
dinohsu1019: 這招我去問問看,感謝 219.68.238.10 04/01 00:29
cancelpc: I發展多核是被A逼的,之前都靠IPC以及單 111.249.179.57 04/01 01:15
cancelpc: 核時脈贏 111.249.179.57 04/01 01:15
cancelpc: 程式的寫法沒改,i3跟i7沒啥差,反而低 111.249.179.57 04/01 01:16
cancelpc: 階U核心少,時脈高 111.249.179.57 04/01 01:16
cancelpc: 多核通常不是全核最高頻率,如網友說, 111.249.179.57 04/01 01:18
cancelpc: 關掉一些核心,反而讓少數核心可以跑在 111.249.179.57 04/01 01:18
cancelpc: 高頻 111.249.179.57 04/01 01:18
cancelpc: 但這對python幫助不大,體感不大 111.249.179.57 04/01 01:19
cancelpc: noGIL短期而言男,改太大了。反而造成語 111.249.179.57 04/01 01:25
cancelpc: 言本身不可預期問題,一堆程式原本正常 111.249.179.57 04/01 01:25
cancelpc: 的反而出問題,畢竟這語言門檻低,都沒 111.249.179.57 04/01 01:25
cancelpc: 對語言架構有深入了解 111.249.179.57 04/01 01:25
dinohsu1019: 我轉貼到FB Python台灣群組 219.68.238.10 04/01 06:37
beetlej: 有網站叫UserBenchmark很好用,比如你可 42.73.115.213 04/01 06:40
beetlej: 搜索 " 9400 vs 13400 " 42.73.115.213 04/01 06:40
yeeouo: 叫Claude幫你優化成多線程就好了 124.213.115.96 04/01 07:28
yeeouo: 本來就可以用時脈算效能啊 就差個IPC IPC 124.213.115.96 04/01 07:28
yeeouo: 越新越強 樓主有用"至少"所以沒問題吧 124.213.115.96 04/01 07:28
yeeouo: 跑的慢一般是先優化演算法 演算法影響最 124.213.115.96 04/01 07:33
yeeouo: 大 其他技巧都是常數級別提升而已 124.213.115.96 04/01 07:33
yeeouo: 我之前叫GPT4幫我優化GPT4寫的代碼 從30 124.213.115.96 04/01 07:37
yeeouo: 秒縮短到0.4秒 沒有用到平行化 現在Claud 124.213.115.96 04/01 07:37
yeeouo: e比GPT4又更好用了感覺 124.213.115.96 04/01 07:37
cgjosephlee: 用polars取代pandas吧 219.70.129.29 04/01 08:24
y40103: 你這種情況要有顯著效果 CPU運算密集部份 39.15.48.202 04/01 09:35
y40103: 想辦法用其他語言處理 全核心跑滿 快100x 39.15.48.202 04/01 09:35
y40103: 以上都是很有機會的 若是要在Python muti 39.15.48.202 04/01 09:35
y40103: process頂多快幾倍 除非是可以向量化才有 39.15.48.202 04/01 09:35
y40103: 機會快 39.15.48.202 04/01 09:35
widec: 我覺得CPU進步並不大 106.1.116.2 04/01 10:43
ma721: 先卻認衝突是什麼原因 101.10.63.194 04/01 11:46
chang1248w: 你要不要用用看rapid cudf,nv的gpu 42.72.50.93 04/01 12:09
chang1248w: 版本pandas 42.72.50.93 04/01 12:09
wahaha99: 幾個部分 1.你的運算有沒有可靠性需求 118.169.16.85 04/01 12:10
wahaha99: 有的話 先考慮支援ECC的平台 118.169.16.85 04/01 12:11
wahaha99: 2是多核在單一Task幫不上忙,但可以同時 118.169.16.85 04/01 12:11
wahaha99: 跑多個Task,還是你的工作就這麼專一, 118.169.16.85 04/01 12:11
wahaha99: 一次只能有一個Task,一個Thread 118.169.16.85 04/01 12:11
wahaha99: 3是這個項目有多少價值,如果很有價值, 118.169.16.85 04/01 12:12
wahaha99: 可以考慮自己寫FPGA加速 118.169.16.85 04/01 12:12
wahaha99: 4是OS那邊還有一些加速手段,好比 118.169.16.85 04/01 12:14
wahaha99: Large page,更極端點可以去改cpu模式 118.169.16.85 04/01 12:14
wahaha99: 以及做好資料在Cache中的對齊 118.169.16.85 04/01 12:15
NullLife: 怎麼可能multi-thread會有衝突 210.61.142.162 04/01 14:04
NullLife: 先搞定你們演算法再來想硬體吧 210.61.142.162 04/01 14:04
HUGO800114: 這文章看得好痛苦 排一版吧 49.216.46.39 04/01 14:29
oxlittle: Pitt臥虎藏龍啊…. 211.76.65.95 04/02 04:09

Leave a Reply

Your email address will not be published. Required fields are marked *