OpenGPUKernelModule是 英伟达NVIDIA开源的LinuxGPU内核模块,以GPL/MIT 双重许可正式开源。
目前,此NVIDIAOpenGPU内核模块的第一个版本是R515.43.04,除了源代码之外,还提供了驱动程序的完全构建和打包版本。对于NVIDIATuring和NVIDIAAmpere架构系列中的数据中心GPU,这些代码可用于生产。对于GeForce和工作站GPU,这些代码被认为是“alpha版本的质量”拥有Turing和AmpereGPU的客户可以选择安装哪些模块。Pre-Turing客户将继续运行闭源模块。目录结构布局kernel-open/ 内核接口层
kernel-open/nvidia/ nvidia.ko的内核接口层
kernel-open/nvidia-drm/ nvidia-drm.ko的内核接口层
kernel-open/nvidia-modeset/nvidia-modeset.ko的内核接口层
kernel-open/nvidia-uvm/ nvidia-uvm.ko的内核接口层
src/ 与操作系统无关的代码
src/nvidia/ nvidia.ko与操作系统无关的代码
src/nvidia-modeset/ nvidia-modeset.ko的操作系统无关代码
src/common/ nvidia.ko和nvidia-modeset.ko中的一项或多项使用的实用程序代码
如何构建构建:makemodules-j`nproc` 要安装,首先要卸载任何现有的NVIDIA内核模块。然后,作为根:makemodules_install-j`nproc`请注意,此处构建的内核模块必须与来自相应515.43.04驱动程序版本的gsp.bin固件,和用户空间NVIDIAGPU驱动程序组件一起使用。可以通过使用该--no-kernel-modules 选项从.run文件安装NVIDIAGPU驱动程序来实现。例如sh./NVIDIA-Linux-[...].run--no-kernel-modules支持的CPU架构目前,可以为x86_64或aarch64构建内核模块。支持的工具链任何现代版本的gcc或clang都可以用来构建内核模块。请注意,内核模块的内核接口层必须使用用于构建内核的工具链来构建。支持的Linux内核版本NVIDIA开放内核模块支持与专有NVIDIA内核模块支持相同范围的Linux内核版本:Linux内核3.10或更高版本。
评论