英偉達下“封殺令”:不準轉譯CUDA!國產GPU企業迴應

芯東西(公衆號: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產品時,英偉達的霸主地位將受到挑戰。

而從商業決策的角度來看,着眼於解決複雜視覺計算問題、持續創新的英偉達,也有充分理由來捍衛自己長期積累下來的知識產權和商業碩果,讓客戶與其生態系統產生更加牢固的粘性。