說到CUDA相容性,英偉達禁止了嗎?

Mondo 科技 更新 2024-03-06

事實上,自 2021 年以來,NVIDIA 在其許可條款中已禁止使用轉換層在其他硬體平台上執行基於 CUDA 的軟體,但之前的警告不包括安裝過程中放置在主機系統上的文件。

但最近,據報道,此描述已被新增到 CUDA 11 的安裝中EULA 中包含 6 及更高版本。 這一限制似乎旨在阻止英特爾和AMD最近參與的Zluda等舉措,也許更關鍵的是,一些中國GPU製造商利用CUDA的翻譯層

軟體工程師 Longhorn 注意到了這些術語。 已安裝的 EULA 文字檔案中的條款之一是:“您不得對使用 SDK 元素生成的輸出的任何部分進行逆向工程、反編譯或反彙編,以將此類輸出工件轉換為目標非 NVIDIA 平台。 ” you may not reverse engineer, decompile or disassemble any portion of the output generated using sdk elements for the purpose of translating such output artifacts to target a non-nvidia platform.,")

使用 CUDA 114 和 11此條款不存在於隨版本 5 一起安裝的 EULA 文件中,並且可能包含該版本之前的所有版本。 但是,它存在於 11 中6 及更高版本的安裝文件。

作為領導者,這有好的一面,也有壞的一面。 一方面,每個人都依賴你; 另一方面,每個人都想站在你的肩膀上。 後者顯然是CUDA發生的事情。 由於CUDA和NVIDIA硬體的組合已被證明非常有效,因此大量程式都依賴它。

然而,隨著更具競爭力的硬體進入市場,越來越多的使用者傾向於在競爭平台上執行他們的 CUDA 程式。 有兩種方法可以做到這一點:重新編譯(可供單個程式的開發人員使用)或使用轉換層。

出於顯而易見的原因,使用像 Zluda 這樣的轉換層是在非 NVIDIA 硬體上執行 CUDA 程式的最簡單方法。 我們所要做的就是獲取編譯好的二進位檔案,並使用 zluda 或其他轉換層執行它們。

但Zluda現在似乎陷入了困境,AMD和英特爾都放棄了進一步開發它的機會,但這並不意味著翻譯不可行。

出於顯而易見的原因,轉換層的使用威脅到NVIDIA在加速計算領域的霸權,尤其是在AI應用方面。 這可能是 NVIDIA 決定禁止使用翻譯層在其他硬體平台上執行 CUDA 應用程式的驅動力。

重新編譯現有的 CUDA 程式仍然是完全合法的。 為了簡化這一點,AMD 和 Intel 都有工具可以分別將 CUDA 程式移植到他們的 ROCM 和 OpenAPI 平台。

隨著 AMD、英特爾、Tenstorrent 和其他公司開發更好的硬體,越來越多的軟體開發人員將傾向於為這些平台進行設計,而 NVIDIA 的 CUDA 主導地位可能會隨著時間的推移而減弱。

此外,專門為特定處理器開發和編譯的程式將不可避免地比通過翻譯層執行的軟體執行得更好,這意味著 AMD、英特爾、Tenstorrent 和其他公司將能夠獲得更好的競爭地位——如果它們能夠吸引軟體開發人員加入。

GPGPU仍然是乙個重要且競爭激烈的領域,我們將密切關注未來的發展。

Zluda,乙個雄心勃勃的專案

早在 2020 年,乙個名為 Zluda 的專案就被描述為“英特爾 GPU 上 CUDA 的直接替代品”,它威脅到 NVIDIA 專有的 CUDA(統一計算裝置架構)生態系統。

這個獨立的專案(不是由AMD或英特爾驅動的)已經為當時在非NVIDIA顯示卡上執行未更改的CUDA應用程式提供了概念證明。

Zluda 的基礎正是英特爾的 OneAPI 零級規範。 這是乙個私人專案,與英特爾或英偉達無關。 當它首次推出時,Zluda 仍處於早期階段,缺乏完整的 CUDA 支援。 因此,許多 CUDA 應用程式不適用於 Zluda。

但 Zluda 的建立者當時聲稱它提供了“接近原生”的效能,這意味著幾乎沒有效能損失。 他提供帶有 Geekbench 5 的英特爾酷睿 i7-8700K2.3 因此,該處理器配備了英特爾的 UHD Graphics 630 IGPU,並執行 OpenCL 和 Zluda。 對於後者,作者欺騙 Geekbench 相信英特爾 IGPU 是速度較慢的 NVIDIA GPU。 但是,結果來自同乙個 IGPU。

結果顯示,與 OpenCL 效能相比,Zluda 的效能提高了 10%。 總體而言,我們預計比基準組提高約4%。

作者明確指出,Zluda 與 AMD HIP 或 Intel DPC++ 有很大不同,因為後兩者是程式設計師將應用程式移植到他們選擇的特定 API 的工具。 另一方面,Zluda 不需要任何額外的工作,因為 CUDA 應用程式只需要在 Intel GPU 上執行。 當然,只要支援 CUDA 的子集。

經過幾年的發展,該專案同樣支援AMD的GPU。 據了解,今天的Zluda與2020年的版本有很大不同。 它不是基於英特爾的 OneAPI 構建的,也包括對該公司 GPU 的支援,而是基於 AMD 的競爭性 ROCM 解決方案,僅支援 Radeon GPU。 目前尚不完全清楚為什麼英特爾的支援被取消,但這可能與Zluda 2020版本僅支援XE之前的整合顯示卡有關。 當 Arc Alchemist GPU 於 2022 年問世時,專案開發商 Janik 與 AMD 合作。 開發人員還表示,Zluda“只可能收到我個人感興趣的執行工作負載(DLSS)的更新”,這意味著該專案或多或少已經完成。 Janik的最終目標似乎是獲得英特爾或AMD的支援。

但進入 2 月中旬,據報道,該專案似乎不會做任何進一步的工作,至少沒有重大更新,Zluda 開發人員 Andrzej Janik(代號為 Vosen)表示,隨著兩家公司(英特爾和 AMD)的退出,“我們不再有 GPU 公司了”。

事實上,該專案現在已被放棄。 賈尼克說。

這說明英特爾和AMD對使他們的GPU與現有的CUDA生態系統相容不感興趣。 看起來他們更願意用 OneAPI 和 ROCM 與 CUDA 正面交鋒,它們較新且開發程度較低,但具有開源的好處。

迄今為止,CUDA仍然是專業和資料中心圖形軟體中更受歡迎的解決方案,目前尚不清楚這種情況是否會很快改變,特別是如果NVIDIA的GPU在功能和效能方面繼續領先於英特爾和AMD。

打破CUDA霸權?

關於CUDA霸權的爭論並不是什麼新鮮事。

例如,英特爾首席執行官帕特·基辛格(Pat Gelsinger)去年年底在紐約的一次活動中首次讚揚了英偉達的CUDA技術,聲稱推理技術將比人工智慧訓練更重要。 但當被問及時,基辛格表示,英偉達在訓練中的CUDA主導地位不會永遠持續下去。

與此同時,他說,“你知道,整個行業都在積極地消除CUDA市場,”基辛格說。 他引用了MLIR、Google和OpenAI等例子,表明他們正在轉向“Pythonic程式設計層”,以使AI訓練更加開放。

英特爾首席技術官 Greg L**Ender 在 2023 年 9 月的一次演講中打趣道:“我將向所有開發人員提出挑戰。 讓我們使用大型模型和 Copilot 等技術來訓練機器學習模型,該模型將所有 CUDA ** 轉換為 SYCL。 (原文如此:i.)'ll just throw out a challenge to all the developers. let's use llms and technologies like copilot to train a machine learning model to convert all your cuda code to sycl)。

其中,SYCL是英特爾打破CUDA對AI軟體生態的束縛的最新舉措。 根據介紹,SYCL(或更具體地說是Syclomatic)是乙個免版稅的跨架構抽象層,為英特爾的並行C++程式語言提供支援。 簡而言之,在將 CUDA** 移植到在非 NVIDIA 加速器上執行時,SYCL 可以處理大部分繁重的工作(據稱高達 95%)。 但正如您所料,通常需要一些微調和調整才能使應用程式全速執行。

當然,SYCL 絕不是編寫與加速器無關的唯一方法。 正如 Curley 所解釋的那樣,OpenAI 的 Triton 或 Google 的 Jax 等框架就是兩個例子。

AMD首席執行官蘇姿丰在接受採訪時表示,英偉達CUDA不相信護城河。 她直言不諱地承認,像 pytorch 這樣的東西往往具有與硬體無關的功能。 她還指出,這意味著現在任何在 PyTorch 上執行 CUDA 的人都可以在 AMD 上執行它,因為我們已經完成了那裡的工作。 坦率地說,它也可以在其他硬體上執行。

在去年的 Advancing AI 大會上,AMD 總裁 Victor Peng 介紹了 ROCM 6,這是平行計算框架的最新版本,該框架針對 AMD Instinct 的綜合軟體堆疊進行了優化,特別適合在 AI 中生成大型語言模型。

Lamini是一家專注於微調大型語言模型的初創公司,該公司透露,它已經“秘密執行在100多個AMD Instinct MI200系列GPU上”,並表示晶元設計商的ROCM軟體平台“已經實現了與NVIDIA佔主導地位的CUDA平台的軟體對等。

吉姆·凱勒(Jim Keller)是一位傳奇的處理器架構師,曾從事X86、ARM、MISC和RISC-V處理器的工作,他早些時候也批評了NVIDIA的CUDA架構和軟體堆疊,並將其比作X86,他稱之為沼澤。 他指出,即使是英偉達本身也有多個專門的軟體包,出於效能原因,這些軟體包依賴於開源框架。

凱勒在後續帖子中寫道。 “如果你真的寫了CUDA,它可能不會很快。 [.Triton、Tensor RT、Neon 和 Mojo 的存在是有充分理由的。 ”

即使在 NVIDIA 本身,也有一些工具並不完全依賴 CUDA。 例如,Triton Inference Server 是 NVIDIA 的開源工具,可簡化 AI 模型的大規模部署,並支援 TensorFlow、PyTorch 和 Onnx 等框架。 Triton 還提供模型版本控制、多模型服務和併發模型執行等功能,以優化 GPU 和 CPU 資源的利用率。

SemiAnalysis 的作者 Dylan Patel 在之前的一篇文章中也強調,使用 PyTorch 20 和 OpenAI Triton 的到來,英偉達在這一領域的主導地位正在被打破。 詳情請參考文章“CUDA被趕出神壇”。

作為讀者,您如何看待 NVIDIA 的決定和 CUDA 的未來?

相關問題答案

    英特爾CEO抨擊英偉達CUDA技術已經過時,整個行業都想結束它

    日前,英特爾推出了一系列新的CPU,包括用於生成式AI的AI晶元Gaudi。按照計畫,高迪將於明年上市銷售,其競爭對手是英偉達和AMD晶元。今年以來,英偉達的股價上漲了 而英特爾只有 英特爾和AMD必須使用AI晶元來吸引客戶,使他們不會過度依賴英偉達。英特爾沒有透露太多細節,目前只知道高迪將直接與英...

    英偉達 4090 D 發布,CUDA 核減 11,會對現有的 4090 市場產生影響嗎?

    月日,英偉達正式面向中國大陸市場推出GeForce RTX D消費級遊戲顯示卡。該產品是針對美國月對華出口管制措施而特別設計的,在原RTX 的基礎上進行了降級,官方建議零售價仍為元。根據猿世界計算速率, D在規格方面,與RTX 的標準版本相比,RTX D顯示卡做了一些調整。最顯著的變化是 CUDA ...

    外媒英偉達穩了未來

    在當前的全球晶元在市場低迷的背景下,大多數晶元企業受到重創,尤其是在美國晶元巨頭。然而英偉達但有乙個例外。英偉達成功抓住人工智慧的崛起,成為AI時代的贏家。然而,即便如此,英偉達也存在一些挑戰。英偉達之鏈該系統非常複雜,涵蓋了來自世界各地的 , 個元件,其中 由以下部分組成 台積電及其鏈提供。這意味...

    Nvidia 的新 RTX 3050 來了! 視訊記憶體縮水到6GB,國產售價不會超過1300元!

    熱點引擎程式 英偉達最近推出了新版本的RTX 顯示卡,最大的變化是視訊記憶體容量已經降低到GB。該顯示卡基於 GA 核心,擁有 個 CUDA 核心 個張量核心和 個光線追蹤單元,基礎頻率為 MHz,最大提公升頻率為 MHz。雖然記憶體容量有所減少,但位寬在 位保持不變,而等效頻率保持在 GHz。但是...

    這是乙個變化! 英偉達丟了第一名,威騰電子早就被允許進入內地了!

    這是乙個變化!英偉達丟了第一名,威騰電子早就被允許進入內地了!可以說,英偉達的處境並不樂觀。美國在晶元禁令問題上做出了重大讓步,但這一特殊問題引起了中國企業的不滿,甚至有傳言稱英偉達將裁員。英偉達再次來自 第一 秋天。據摩根史坦利 Morgan Stanley 稱,該公司已放棄將英偉達列為熱門晶元股...