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