熱門資訊> 正文
2024-07-18 13:21
新智元報道
編輯:庸庸
【新智元導讀】英偉達全面轉向開源GPU內核模塊,歷史將再次見證Linux社區開源的力量。
英偉達宣佈全面轉向開源GPU內核模塊!
這次開源行動是兩年之前英偉達一個舉措的延續——。
這件事在當時引發了多個開源社區和機構的熱議,還被網友揣測英偉達這麼做的背后原因,是迫於Linux之父Linus Torwalds的壓力。
過往的恩怨暫且不提,隨着最新的英偉達555 Linux驅動程序系列的發佈,開源內核驅動程序的支持情況大為改觀,英偉達今天發佈了一篇長篇博文對其進行推廣。
博客地址:https://developer.nvidia.com/blog/nvidia-transitions-fully-towards-open-source-gpu-kernel-modules/
在這篇博文中,英偉達闡述了他們在過去兩年中逐漸成熟的開源GPU內核模塊,以及新增加的功能。
值得注意的是,此次開源的驅動程序代碼仍在主線內核之外。
reddit網友將英偉達這種「開了,但沒完全開」的做法類比為一個「半開放廚房」,原來,open source(開源)的意思竟是open sauce(開醬)。
無論如何,有了這種開源GPU內核驅動程序的支持,即使其用户空間驅動程序組件仍是閉源的,也是一種勝利。
兑現兩年前的承諾
時間倒回到2年前,隨着R515 驅動程序的發佈,英偉達以開源方式發佈了一套Linux GPU內核模塊,具有GPL和MIT雙重許可。
初始版本針對數據中心計算GPU,GeForce和工作站GPU處於alpha狀態。
當時,英偉達宣佈將在后續版本中提供更強大、功能更全面的GeForce和工作站Linux支持,並且開放內核模塊將最終取代閉源驅動程序。
現在,R560驅動程序版本即將面世,英偉達在這個時間節點,選擇兑現之前的承諾——完全過渡到開源GPU內核模塊。
開源GPU內核模塊在不損失甚至超出原有性能的基礎上,添加了大量新功能:
- 異構內存管理 (HMM) 支持
- 機密計算
- 英偉達Grace平臺的一致內存架構
- 更多其他功能
支持的GPU
雖然説是全面轉向開源GPU內核模塊,但並不是所有GPU都與開源GPU內核模塊兼容。
總體而言,就是新產品和旗艦平臺支持,比較舊的GPU則不支持。
具體來講,對於Grace Hopper或Blackwell這兩個旗艦平臺,僅支持開源GPU內核模塊,不再支持專有驅動程序。
而對於Maxwell、Pascal或Volta架構的舊版GPU,則不能與開源GPU內核模塊兼容,需要繼續使用專有驅動程序。
一些網友表示對此感到遺憾——
對於Turing、Ampere、Ada Lovelace或Hopper架構的較新的GPU,英偉達建議切換到開源GPU內核模塊。
如果是同一系統中較舊和較新GPU的混合部署,僅支持使用專有驅動程序。
開源社區翹首以待
英偉達開源GPU內核模塊為什麼會讓開發者感到興奮呢?
驅動程序有兩部分,一部分在用户空間運行,另一部分在內核空間運行。英偉達驅動程序曾經是完全專有的(除了一個直接與內核交互的shim層)。
但在英偉達選擇開源之后,開發人員可以閲讀、逆向工程、分叉、發送拉取請求等,使得開發人員能夠改進開源驅動程序,並啟用比以前更多的功能。
NVK就是這樣誕生的,這是一個由Collabora、紅帽和社區共同為英偉達顯卡開發的一個開源驅動,它的目標是成為主流顯卡驅動。
NVK是驅動程序的用户空間部分,可以與Nouveau結合使用。
Nouveau是舊的開源驅動程序,已經年久失修了。紅帽公司正在開發新的內核空間驅動程序Nova,以取代Nouveau。
隨着英偉達開源的步子越邁越大,以及更多的開源社區貢獻,NVK的潛力可以進一步被激發,通過增加額外的功能和GPU支持來不斷獲得改進。
只是這個過程可能還需要足夠有「耐心等待」。
問題是,英偉達在開源之路上還能走多遠。
有網友分析英偉達這麼做的動因和邏輯之后,得出一個結論:主線內核絕不會被開源。原因在於——
開放源代碼模塊是必要的,因為Linux內核已被修改,為非GPLv2的模塊帶上了罩子,這將給英偉達驅動程序帶來很多問題。
解決方案就是將所有專有代碼放入固件中,使其保持專有性,並使內核驅動程序的其余部分自由開源。
現在,英偉達似乎已經準備好放棄舊的專有驅動模塊,繼續使用FOSS(Free and Open Source Software,自由和開放源代碼軟件)模塊。
但這並不意味着它將會出現在主線內核中,絕對不會,因為它是共享許可證(MIT+GPLv2)。
還有網友對英偉達此舉表示懷疑,認為這是被逼無奈之舉:英偉達不斷被行業合作伙伴(如紅帽)敦促,不斷收到開源社區的羞辱,也有可能是出於減少維護量以保持驅動程序棧更新和在新內核上運行的考慮。
一位深諳老黃秉性的網友則提出「英偉達歷來對其合作伙伴的意見漠不關心」,這應該是與LLM有關,讓更多的代碼成為訓練集的一部分,可以讓ChatGPT/Claude/Copilot等工具更好地為英偉達GPU生成代碼。
確實,很難相信世界上市值最高的公司之一會真正關心所謂的羞辱和公眾情緒,肯定是忙着利用其數據中心的硬件來瘋狂印鈔。
英偉達真正在意的應該是像Linux這樣的正在增長的市場,雖然Linux市場仍然很小,但它處於增長態勢,並且在非遊戲GPU領域變得更加重要。
參考資料:
https://developer.nvidia.com/blog/nvidia-transitions-fully-towards-open-source-gpu-kernel-modules/