作者jackliao1990 (j)
看板Tech_Job
標題[情報] DeepSeek繞過CUDA 自己優化底層編程語言
時間Wed Jan 29 19:55:49 2025
https://x.com/bookwormengr/status/1883355712191123666
關於DeepSeek的優化改進
許多人沒注意到的是:
DeepSeek也繞過了CUDA並使用底層編程語言PTX做優化
在輝達的PTX語言實際編譯流程中
CUDA代碼首先被編譯為PTX代碼
PTX代碼再被編譯為目標GPU架構的機器碼(SASS,Streaming ASSembler)
CUDA起到了提供高級編程接口和工具鏈的作用
可簡化開發者的工作
而PTX作為中間層充當高級語言和底層硬件間的橋樑
PTX允許進行細粒度優化
如寄存器分配和Thread/Warp級別的調整
這種編譯複雜又難維護
所以其他公司用的是CUDA這種高級編程語言
V3硬體效率之所以比Meta高出10倍
關鍵在於V3針對自己需求把132個流式多處理器(SMs)中的20個修改成負責服務器間通信
而不是計算任務
變相繞過了硬體對通信速度的限制
這點是用輝達的PTX實現的,不是CUDA
雖然DeepSeek把優化做到極致
然而同行表示
DeepSeek這種直接編寫PTX代碼的做法很難移植到不同型號的GPU
針對H100優化的代碼移到其他型號上效果打折扣也可能根本不work
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.253.132.195 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Tech_Job/M.1738151752.A.22B.html
1F:推 boards : 恐怖!DeepSeek遭以色列公司起底 可 101.10.44.11 01/29 19:58
2F:→ boards : 生成惡意程式竊取信用卡資料 101.10.44.11 01/29 19:58
3F:→ MoonCode : 換 cpu 就重寫啊 1.160.226.8 01/29 19:58
4F:推 hortl233 : 這有點猛 111.82.225.117 01/29 19:59
※ 編輯: jackliao1990 (111.253.132.195 臺灣), 01/29/2025 20:04:44
5F:推 royalpichu : ASIC 噴 114.25.13.223 01/29 20:05
6F:→ jacky40383 : 用PTX去優化速度早不是新聞了 就是 1.175.5.92 01/29 20:07
7F:→ jacky40383 : 維護跟編寫麻煩 1.175.5.92 01/29 20:07
8F:推 neil0611 : 厲害了 我的國 118.231.137.71 01/29 20:11
9F:推 whizz : 無聊 又不是首次有人用ptx 42.79.252.164 01/29 20:14
10F:推 X28338136X : 那做transformer 加速器有搞頭嗎 36.239.178.44 01/29 20:33
11F:推 shyshyan : 資料都開源了是在恐怖三小 114.47.19.55 01/29 20:42
12F:→ olozil : 翻譯:中國人礦便宜用人硬幹223.141.133.141 01/29 21:18
13F:推 johnjohnlin : 難移植的是後端吧,前端我怎麼記得 175.183.40.89 01/29 21:42
14F:→ johnjohnlin : CUDA 4早就改LLVM了 175.183.40.89 01/29 21:42
15F:推 mercedeces : nv賺,還是用它的 60.198.174.240 01/29 22:10
16F:推 MatTZerS : 請問 SM 用於通訊是什麼意思 36.239.250.136 01/29 22:12
17F:推 abc21086999 : 換個硬體就不能用很麻煩欸114.136.151.105 01/29 22:30
18F:推 c963852002 : 黃大:不講武德改我晶片? 111.243.10.214 01/29 22:49
19F:推 Aquarius126 : 不用C語言改用ASM組合語言優化的概 101.9.135.49 01/29 23:15
20F:→ Aquarius126 : 念 101.9.135.49 01/29 23:15
21F:推 MisterSmile : 井蛙:看吧,他們就是用手刻 111.71.29.38 01/29 23:43
22F:推 HiHiCano : 小量還可以啦 大量你換gpu要重寫會 218.161.53.131 01/29 23:43
23F:→ HiHiCano : 死人的 218.161.53.131 01/29 23:43
24F:噓 IndeedGod : 一樓黑熊部隊嗎?這裡是科技版不是 114.32.217.213 01/29 23:43
25F:→ IndeedGod : 八卦版 114.32.217.213 01/29 23:43
26F:推 ohohohya : 沒事 到時候真的證明抄襲chatgpt會 118.171.90.24 01/29 23:57
27F:→ ohohohya : 哭的更大聲 118.171.90.24 01/29 23:58
28F:→ tactics2100 : 反正窮人又換不起 deepseek指定的硬 203.204.69.197 01/30 01:14
29F:→ tactics2100 : 體 有錢換的也是一批就買幾千台以上 203.204.69.197 01/30 01:14
30F:→ tactics2100 : 然後操到爛 又不會頻繁更換硬體規 203.204.69.197 01/30 01:14
31F:→ tactics2100 : 格接著再頻繁改寫 203.204.69.197 01/30 01:14
32F:推 zxp9505007 : CUDA開發方便啊 但優化還是得取捨 24.7.63.0 01/30 01:35
33F:→ musashi023 : ds繞過CUDA直接寫PTX很厲害嗎 PTX對 119.14.115.109 01/30 02:49
34F:→ musashi023 : 於ds來說不就只是當成另一種語言而 119.14.115.109 01/30 02:49
35F:→ musashi023 : 已 119.14.115.109 01/30 02:49
36F:→ otaku690 : 做cuda優化的都會碰PTX吧... 216.228.112.21 01/30 04:19
37F:噓 pig2014 : 太吹,靠底層語言優化這種事也能拿 123.195.185.38 01/30 06:30
38F:→ pig2014 : 來吹是三小,那大家都改寫C不就飛 123.195.185.38 01/30 06:30
39F:→ pig2014 : 上天了?軟體開發發展至今會往高階 123.195.185.38 01/30 06:30
40F:→ pig2014 : 語法移動不是沒有原因的,因為開發 123.195.185.38 01/30 06:30
41F:→ pig2014 : 流程相較於算力需求更重要。現在問 123.195.185.38 01/30 06:30
42F:→ pig2014 : 題在於nv硬體資源成本過高或是存在 123.195.185.38 01/30 06:30
43F:→ pig2014 : 屏障才有這種鳥需求,等未來算力足 123.195.185.38 01/30 06:30
44F:→ pig2014 : 夠或是發展到異質訓練的情況時,這 123.195.185.38 01/30 06:30
45F:→ pig2014 : 東西突然就武功全廢了 123.195.185.38 01/30 06:30
46F:→ tactics2100 : 你這種說法就像廠商開發UE引擎然後 203.204.69.197 01/30 07:54
47F:→ tactics2100 : 開發出黑神話悟空 你就說有什麼好吹 203.204.69.197 01/30 07:54
48F:→ tactics2100 : 的 203.204.69.197 01/30 07:54
49F:推 stocktonty : 就2B鉛筆超頻啊XDDD 116.89.139.191 01/30 08:42
50F:→ xiemark : cudnn效率不是最佳 1.200.26.114 01/30 09:24
51F:噓 w180112 : 支語滾 180.218.6.19 01/30 09:33
52F:噓 NexusPrime : 講的好像其他公司不懂PTX一樣 49.229.172.104 01/30 09:36
53F:→ bnn : 繞是一定能繞 使用者習慣要不要改 220.136.202.56 01/30 10:00
54F:推 kaltu : 不是繞過中層C寫底層ASM,是業界都 100.8.245.106 01/30 10:33
55F:→ kaltu : 用高層語言 Java 跨平台的時候直接 100.8.245.106 01/30 10:33
56F:→ kaltu : 寫無法移植的中層C,換張卡就要重寫 100.8.245.106 01/30 10:33
57F:→ kaltu : 一遍,復用性有限 100.8.245.106 01/30 10:34
58F:→ kaltu : 除非你這間公司只玩一張顯卡的生命 100.8.245.106 01/30 10:34
59F:→ kaltu : 週期就打算收攤,否則這種問題應該 100.8.245.106 01/30 10:34
60F:→ kaltu : 是改進tool chain,第一次編譯和第 100.8.245.106 01/30 10:34
61F:→ kaltu : 二次編譯的編譯器最佳化策略,而不 100.8.245.106 01/30 10:34
62F:→ kaltu : 是跳過第一次編譯器人肉compile然後 100.8.245.106 01/30 10:34
63F:→ kaltu : 新的顯卡架構出來整間公司的軟體資 100.8.245.106 01/30 10:34
64F:→ kaltu : 產蒸發 100.8.245.106 01/30 10:34
65F:→ kaltu : 但如果DS真的只是拿偷來的GPT權重蒸 100.8.245.106 01/30 10:35
66F:→ kaltu : 餾來重新包裝成自己做的的話,的確 100.8.245.106 01/30 10:35
67F:→ kaltu : 是可以只幹這一票騙到補助和VC之後 100.8.245.106 01/30 10:35
68F:→ kaltu : 跑路 100.8.245.106 01/30 10:35
69F:→ kaltu : 那也可以理解為什麼開源這麼乾脆, 100.8.245.106 01/30 10:36
70F:→ kaltu : 因為根本不需要為公司的未來性著想 100.8.245.106 01/30 10:36
71F:推 a1234567289 : 樓上… 所謂的蒸餾不是拿權重.. 是 101.12.151.128 01/30 11:18
72F:→ a1234567289 : 拿GPT的輸出入當資料訓練 101.12.151.128 01/30 11:18
73F:→ Lordaeron : 拿CHATGPT 的輸出,這樣的費用要多?111.241.161.153 01/30 12:19
74F:推 annboy : 蒸餾可以想成是拿大模型的114.137.197.253 01/30 12:52
75F:→ annboy : input output去背答案114.137.197.253 01/30 12:52
76F:→ tactics2100 : 簡單來說 deepseek 就是開 血輪眼 203.204.69.197 01/30 13:04
77F:→ tactics2100 : 或是 金輪法王 用小無相神功 催動 203.204.69.197 01/30 13:05
78F:→ tactics2100 : 少林72絕技 203.204.69.197 01/30 13:05
79F:→ tactics2100 : 更正 鳩摩智 203.204.69.197 01/30 13:06
80F:→ tactics2100 : 補充 血輪眼是後天自己開發出來的 203.204.69.197 01/30 13:07
81F:→ guteres : 最幹的是openai和MS吧,花了一堆錢 42.73.126.244 01/30 13:29
82F:→ guteres : 和智慧財產權的費用,被人蒸餾去用 42.73.126.244 01/30 13:29
83F:→ guteres : 然後再開源。 42.73.126.244 01/30 13:29
84F:→ tactics2100 : 一堆文學作家也抗議 openai 蒸餾他 203.204.69.197 01/30 13:34
85F:→ tactics2100 : 們的創作啊 203.204.69.197 01/30 13:34
86F:推 lolpklol0975: 護城河CUDA 被繞過去? 101.12.163.70 01/30 14:51
87F:噓 musashi023 : 不要在說什麼繞過去了 PTX還是nv家 116.89.142.202 01/30 15:03
88F:→ musashi023 : 的 到底繞過去了什麼 這篇標題就在 116.89.142.202 01/30 15:03
89F:→ musashi023 : 亂寫 116.89.142.202 01/30 15:03
90F:噓 ellight : 講的好像PTX是啥跨世紀發明 1.34.153.180 01/30 15:27
91F:→ ellight : PTX就是N卡上面的低階語言而已 1.34.153.180 01/30 15:27
92F:→ tactics2100 : 所以對岸以C++語言寫出黑神話悟空 203.204.69.197 01/30 16:12
93F:→ tactics2100 : 你也會嗆C++又不是啥跨世紀發明? 203.204.69.197 01/30 16:12
94F:→ tactics2100 : 基努李維出演駭客任務 你也會嗆攝影 203.204.69.197 01/30 16:12
95F:→ tactics2100 : 機又不是啥跨世紀發明嗎? 203.204.69.197 01/30 16:12
96F:推 tomet : 確實沒什麼好吹的,時間會證明 114.137.199.65 01/30 16:56
97F:→ physicsdk : 跟死忠仔沒什麼好討論的 邏輯0分的 114.34.77.14 01/30 17:12
98F:→ physicsdk : 論述看了會降智 114.34.77.14 01/30 17:12
99F:推 kingofsdtw : 笑死,原來是手刻底層 27.52.133.120 01/30 18:49
100F:→ Ekmund : 如果有新聞寫基努李維繞過好萊塢 1.144.18.154 01/30 19:59
101F:→ Ekmund : 用攝影機拍JohnWick 1.144.18.154 01/30 19:59
102F:→ Ekmund : 那對 我會開嗆 1.144.18.154 01/30 19:59
103F:→ Ekmund : 這就邏輯很奇怪的講法啊w 1.144.18.154 01/30 20:01
104F:噓 tactics2100 : 他也沒宣傳主打繞過什麼啊 203.204.69.197 01/31 00:10
105F:→ tactics2100 : 而且好萊塢又不是協會組織 203.204.69.197 01/31 00:12
106F:→ tactics2100 : 就像人踩在地球一樣呼吸空氣 「繞過 203.204.69.197 01/31 00:18
107F:→ tactics2100 : 」講得好像要不依靠地球空間生存 和 203.204.69.197 01/31 00:18
108F:→ tactics2100 : 不呼吸氧氣 來達成某成就才能讓你 203.204.69.197 01/31 00:18
109F:→ tactics2100 : 信服 203.204.69.197 01/31 00:18
110F:→ tactics2100 : 就像人人都有權利站在地球上呼吸空 203.204.69.197 01/31 00:20
111F:→ tactics2100 : 氣一樣自然* 203.204.69.197 01/31 00:20
112F:→ tactics2100 : 那你說看看黑神話 你有想要要求繞過 203.204.69.197 01/31 00:21
113F:→ tactics2100 : 什麼? 203.204.69.197 01/31 00:21
114F:推 Somebody99 : ptx比cuda低階沒錯,但也沒有低到114.136.190.240 01/31 07:43
115F:→ Somebody99 : 沒有維護性吧,那這麼華114.136.190.240 01/31 07:43
116F:→ Ekmund : 黑神話有繞過什麼?不就正常用UE5 1.144.26.221 01/31 08:59
117F:→ Ekmund : 這個對比更怪 他沒有特定硬體依賴 1.144.26.221 01/31 09:00
118F:噓 tactics2100 : 所以黑神話不用顯卡就能玩? 203.204.69.197 01/31 09:30
119F:→ tactics2100 : 我還以爲你會要求繞過windows(=電影 203.204.69.197 01/31 09:34
120F:→ tactics2100 : 的好萊塢) 203.204.69.197 01/31 09:34
121F:→ Ekmund : 喔 所以你是問 黑神話"假設"要繞過 1.144.17.118 01/31 10:33
122F:→ Ekmund : 什麼的場景嗎? 1.144.17.118 01/31 10:33
123F:→ Ron51320 : 一個轉譯程式的事,是要多難 1.200.10.0 01/31 14:16
124F:→ Ron51320 : 也許AI都能自己轉了 1.200.10.0 01/31 14:18
125F:噓 tactics2100 : 已經開始耍賴用問題回答問題了 那就 203.204.69.197 01/31 15:33
126F:→ tactics2100 : 沒有必要理你了 203.204.69.197 01/31 15:33
127F:→ Ekmund : 我一直在回答問題 是你自己一個跳 1.129.18.204 01/31 20:05
128F:→ Ekmund : 過一個 場景沒建立清楚就往下跑 誰 1.129.18.204 01/31 20:05
129F:→ Ekmund : 知道你的對比標準是什麼? 1.129.18.204 01/31 20:05
130F:→ Ekmund : 你看spec或開spec也這樣搞的嗎 1.129.18.204 01/31 20:05
131F:→ Ekmund : 我想想喔 拿你最常講的黑神話來說 1.129.18.204 01/31 20:29
132F:→ Ekmund : 你要假設他繞過什麼 對照回直接用 1.129.18.204 01/31 20:29
133F:→ Ekmund : PTX而不用CUDA的場景 那就是遊戲科 1.129.18.204 01/31 20:29
134F:→ Ekmund : 學跟Epic講好 UE整包太大不想用 只 1.129.18.204 01/31 20:29
135F:→ Ekmund : 抽某一部分lib出來做一些常見的圖 1.129.18.204 01/31 20:29
136F:→ Ekmund : 形運算和cross-platform的功能 完 1.129.18.204 01/31 20:29
137F:→ Ekmund : 成後遊戲爆紅 媒體各種報到 接著有 1.129.18.204 01/31 20:29
138F:→ Ekmund : 篇文跳出來說遊戲科學打破Epic限制 1.129.18.204 01/31 20:29
139F:→ Ekmund : 繞過UE 用xx模組做ooo... 1.129.18.204 01/31 20:29
140F:→ Ekmund : 呃 那 看起來依然是可以吐槽的樣子 1.129.18.204 01/31 20:29
141F:推 lalamio : 重寫就好 概念一樣 104.10.166.47 02/05 14:35