Open GPU Kernel Module英偉達(dá) Linux GPU 內(nèi)核模塊
Open GPU Kernel Module 是 英偉達(dá) NVIDIA 開(kāi)源的 Linux GPU 內(nèi)核模塊,以 GPL/MIT 雙重許可正式開(kāi)源。
目前,此 NVIDIA Open GPU 內(nèi)核模塊的第一個(gè)版本是 R515.43.04,除了源代碼之外,還提供了驅(qū)動(dòng)程序的完全構(gòu)建和打包版本。
- 對(duì)于 NVIDIA Turing 和 NVIDIA Ampere 架構(gòu)系列中的數(shù)據(jù)中心 GPU,這些代碼可用于生產(chǎn)。
- 對(duì)于 GeForce 和工作站 GPU,這些代碼被認(rèn)為是 “alpha 版本的質(zhì)量”
- 擁有 Turing 和 Ampere GPU 的客戶可以選擇安裝哪些模塊。
- Pre-Turing 客戶將繼續(xù)運(yùn)行閉源模塊。
目錄結(jié)構(gòu)布局
-
kernel-open/內(nèi)核接口層 -
kernel-open/nvidia/nvidia.ko 的內(nèi)核接口層 -
kernel-open/nvidia-drm/nvidia-drm.ko 的內(nèi)核接口層 -
kernel-open/nvidia-modeset/nvidia-modeset.ko 的內(nèi)核接口層 -
kernel-open/nvidia-uvm/nvidia-uvm.ko 的內(nèi)核接口層 -
src/與操作系統(tǒng)無(wú)關(guān)的代碼 -
src/nvidia/nvidia.ko 與操作系統(tǒng)無(wú)關(guān)的代碼 -
src/nvidia-modeset/nvidia-modeset.ko 的操作系統(tǒng)無(wú)關(guān)代碼 -
src/common/nvidia.ko 和 nvidia-modeset.ko 中的一項(xiàng)或多項(xiàng)使用的實(shí)用程序代碼
如何構(gòu)建
構(gòu)建:
make modules -j`nproc`
要安裝,首先要卸載任何現(xiàn)有的 NVIDIA 內(nèi)核模塊。然后,作為根:
make modules_install -j`nproc`
請(qǐng)注意,此處構(gòu)建的內(nèi)核模塊必須與來(lái)自相應(yīng) 515.43.04 驅(qū)動(dòng)程序版本的 gsp.bin 固件,和用戶空間 NVIDIA GPU 驅(qū)動(dòng)程序組件一起使用??梢酝ㄟ^(guò)使用該--no-kernel-modules 選項(xiàng)從 .run 文件安裝 NVIDIA GPU 驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。例如
sh ./NVIDIA-Linux-[...].run --no-kernel-modules
支持的 CPU 架構(gòu)
目前,可以為 x86_64 或 aarch64 構(gòu)建內(nèi)核模塊。
支持的工具鏈
任何現(xiàn)代版本的 gcc 或 clang 都可以用來(lái)構(gòu)建內(nèi)核模塊。請(qǐng)注意,內(nèi)核模塊的內(nèi)核接口層必須使用用于構(gòu)建內(nèi)核的工具鏈來(lái)構(gòu)建。
支持的 Linux 內(nèi)核版本
NVIDIA 開(kāi)放內(nèi)核模塊支持與專有 NVIDIA 內(nèi)核模塊支持相同范圍的 Linux 內(nèi)核版本: Linux 內(nèi)核 3.10 或更高版本。
