作者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/cn.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