芯東西(公衆号:aichip001)
作者 | ZeR0
編輯 | 漠影
兼容 CUDA 這條路,走不通了?
芯東西 3 月 6 日消息,據外媒報道,英偉達已禁止用轉譯層在其他 GPU 上跑 CUDA 軟件。
自 2021 年以來,英偉達已在其在線列出的許可條款中明文禁止使用轉譯層在其他硬件平台上運行基于 CUDA 的軟件。軟件工程師 @Longhorn 發現這項 " 禁令 " 已被添加到安裝 CUDA 11.6 及更新版本包含的最終用戶許可協議(EULA)中。
英偉達 CUDA 11.6 及更高版本的 EULA 有一條限制條款:" 您不能逆向工程、反編譯或反彙編使用此 SDK 生成的任何結果,并在非英偉達平台上進行轉譯。"
▲英偉達 CUDA EULA 相關限制條款截圖
EULA 鏈接:https://docs.nvidia.com/cuda/eula/index.html
一石激起千層浪。GPU 行業長期患有 "CUDA 依賴症 ",英偉達多年來不斷鞏固的 CUDA 生态牆就像銅牆鐵壁,是其他 GPU 新秀難以望其項背的關鍵壁壘。爲了迎合市場需求,一些非英偉達的 GPU 平台選擇兼容 CUDA,以站在英偉達生态的肩膀上去擁抱 GPU 開發者。
這一消息随即引起讨論:CUDA 兼容禁令意味着什麽?是否會對國内 GPU 企業産生不利影響?
對此,北京 GPU 獨角獸企業摩爾線程發聲明澄清:" 摩爾線程 MUSA/MUSIFY 不涉及英偉達 EULA 相關條款,開發者可放心使用。"
▲摩爾線程的澄清聲明部分内容截圖
據 Tom ’ s Hardware 報道,兼容 CUDA 有兩種常見做法:重新編譯代碼(可供相應程序的開發人員使用),使用轉譯層。
其中第一種重新編譯現有 CUDA 程序的做法是合規的。AMD 和英特爾都有工具來分别将 CUDA 程序遷移到他們的 ROCm 和 OpenAPI 平台上。一些國内 GPU 企業也采用了類似的兼容思路。
EULA 條款主要禁掉的是第二種,使用像 ZLUDA 開源庫之類的轉譯層。外媒稱這是在非英偉達硬件上運行 CUDA 程序的最簡單方法。
此前英特爾和 AMD 都支持過 ZLUDA 項目,但後續又都停止了。ZLUDA 利用 ROCm 技術棧上實現 CUDA 應用二進制兼容,支持無需修改代碼就能在 AMD 硬件平台上運行 CUDA 應用。
開發者之所以對英偉達 GPU 長期專情,就是因爲 CUDA 已經足夠好用,跟英偉達 GPU 硬件的軟硬協同也做到最好,沒必要換個新平台重頭熟悉,而且其他平台還可能存在出現潛在 bug 的風險。
然而如果能實現在其他硬件上跑 CUDA,雖然會有一定性能損失,但對縮小與英偉達的生态差距已經相當有利。這多少會威脅到英偉達在加速計算領域的霸主地位,英偉達做限制也不意外。
随着生成式 AI 越來越火,被視作英偉達 GPU 護城河的 CUDA,其兼容性已成一個熱門話題。
去年在紐約舉行的一次活動上,英特爾 CEO 基辛格在對 CUDA 技術大加贊賞的同時,也坦言 " 整個行業都在積極消除 CUDA 市場 "。
當時他列舉了 MLIR、谷歌、OpenAI 等例子,暗示他們正轉向 "Pythonic 編程層 ",使 AI 訓練更加開放。他認爲 "CUDA 護城河又淺又小 ",其主導地位不會永遠持續下去,因爲行業有動力爲廣泛的訓練、創新、數據科學等帶來更廣泛的技術。
AMD CEO 蘇姿豐去年接受外媒采訪時談到自己不相信護城河,在她看來,過去開發者傾向于使用針對特定硬件的軟件,但展望未來,每個人都在尋求構建與硬件無關的軟件能力,人們希望确保能從一種基礎設施遷移到另一種基礎設施,因此正在構建這些更高級别的軟件。
上個月,矽谷芯片架構大神 Jim Keller 也在社交平台上發牢騷:"CUDA 是沼澤,不是護城河。" 他吐槽寫 CUDA 效率低下,Triton、Tensor RT、Neon、Mojo 的存在是有很好理由的。
可以說,AI 芯片和 GPU 領域苦 CUDA 久矣,業界對這種封閉生态已經頗有微詞。兼容 CUDA 隻是權宜之計,有長期雄心的芯片大廠或初創公司都在構建自主軟件生态,并力挺更加開放的生态。
以 OpenAI Triton 爲代表的開源編程語言正成爲對抗 CUDA 封閉陣營的關鍵力量,通過極大簡化 GPU 加速編程過程、顯著減少編譯新硬件所需的工作量,減弱開發者對 CUDA 的依賴。
與此同時,當 GPU 短缺問題愈發嚴重,迫切需要更多計算能力的 AI 企業可能會越來越多考慮 AMD、英特爾等競争對手的替代品。當它們紛紛撸起袖子推出性能強大且更加經濟高效的 GPU 産品時,英偉達的霸主地位将受到挑戰。
而從商業決策的角度來看,着眼于解決複雜視覺計算問題、持續創新的英偉達,也有充分理由來捍衛自己長期積累下來的知識産權和商業碩果,讓客戶與其生态系統産生更加牢固的粘性。