“DeepSeek甚至繞過了CUDA”,論文細節再引熱議,工程師靈魂提問:英偉達護城河還在嗎?

來源:量子位(ID: QbitAI)作者夢晨 西風

英偉達剛剛從DeepSeek-R1引發的緩過勁來,又面臨新的壓力?

硬件媒體Tom‘s Hardware帶來開年最新熱議:

DeepSeek甚至繞過了CUDA,使用更底層的編程語言做優化。

這一次是DeepSeek-V3論文中的更多細節,被人挖掘出來。

來自Mirae Asset Securities Research(韓國未來資產證券)的分析稱,V3的硬件效率之所以能比Meta等高出10倍,可以總結爲“他們從頭開始重建了一切”。

在使用英偉達的H800 GPU訓練DeepSeek-V3時,他們針對自己的需求把132個流式多處理器(SMs)中的20個修改成負責服務器間的通信,而不是計算任務。

變相繞過了硬件對通信速度的限制。

△ DeepSeek-V3 Technical Report

這種操作是用英偉達的PTX(Parallel Thread Execution)語言實現的,而不是CUDA。

PTX在接近彙編語言的層級運行,允許進行細粒度的優化,如寄存器分配和Thread/Warp級別的調整。

這種編程非常複雜且難以維護,所以行業通用的做法是使用CUDA這樣的高級編程語言。

換句話說,他們把優化做到了極致。

有網友表示,如果有一羣人嫌CUDA太慢而使用PTX,那一定是前量化交易員。

一位亞馬遜工程師提出靈魂質問:CUDA是否還是護城河?這種頂尖實驗室可以有效利用任何GPU。

甚至有網友開始暢想,如果“新源神”DeepSeek開源了一個CUDA替代方案……

那麼事情是否真會如此?

DeepSeek真的繞過了CUDA?

首先要明確的是,PTX仍然是英偉達GPU架構中的技術,它是CUDA編程模型中的中間表示,用於連接CUDA高級語言代碼和GPU底層硬件指令。

PTX類似彙編語言,代碼大概長這樣:

△來自tinkerd.net

在實際編譯流程中,CUDA代碼首先被編譯爲PTX代碼,PTX代碼再被編譯爲目標GPU架構的機器碼(SASS,Streaming ASSembler)。

CUDA起到了提供高級編程接口和工具鏈的作用,可以簡化開發者的工作。而PTX作爲中間層,充當高級語言和底層硬件之間的橋樑。

另外,這種兩步編譯流程也使得CUDA程序具有跨架構的兼容性和可移植性。

反過來說,像DeepSeek這種直接編寫PTX代碼的做法,首先不僅非常複雜,也很難移植到不同型號的GPU。

有從業者表示,針對H100優化的代碼遷移到其他型號上可能效果打折扣,也可能根本不工作了。

所以說,DeepSeek做了PTX級別的優化不意味着完全脫離了CUDA生態,但確實代表他們有優化其他GPU的能力。

事實上,我們也能看到DeekSeek已經與AMD、華爲等團隊緊密合作,第一時間提供了對其他硬件生態的支持。

One More Thing

還有人提出,如此一來,讓AI擅長編寫彙編語言是AI自我改進的一個方向。

我們不知道DeepSeek內部是否使用AI輔助編寫了PTX代碼——

但是確實剛剛見證DeepSeek-R1編寫的代碼顯著提升大模型推理框架的運行速度。

Llama.cpp項目中的一個新PR請求,使用SIMD指令(允許一條指令同時處理多個數據)顯著提升WebAssembly在特定點積函數上的運行速度,提交者表示:

llama.cpp項目的創始人檢查了這段代碼後表示“比預期的更爆炸”。

參考鏈接:[1]https://www.tomshardware.com/tech-industry/artificial-intelligence/deepseeks-ai-breakthrough-bypasses-industry-standard-cuda-uses-assembly-like-ptx-programming-instead[2]https://x.com/bookwormengr/status/1883355712191123666[3]https://tinkerd.net/blog/machine-learning/cuda-basics/[4]https://www.amd.com/en/developer/resources/technical-articles/amd-instinct-gpus-power-deepseek-v3-revolutionizing-ai-development-with-sglang.html[5]https://x.com/ggerganov/status/1883888097185927311

2025,信心同行,美好可期