NVIDIA Fully Adopts Open-Source GPU Kernel Modules in Upcoming R560 Driver Release
NVIDIA has announced a significant shift in its driver strategy, transitioning entirely to open-source GPU kernel modules with the upcoming R560 driver release, according to the NVIDIA Technical Blog. This move builds on the company's initial release of open-source GPU kernel modules with the R515 driver in May 2022, which was aimed at datacenter compute GPUs.
Performance and New Capabilities
Over the past two years, NVIDIA has worked diligently to ensure that the open-source GPU kernel modules meet or exceed the performance of their proprietary counterparts. The company has also introduced several new features, including:
- Heterogeneous memory management (HMM) support
- Confidential computing
- Coherent memory architectures for Grace platforms
- And more
These advancements have led NVIDIA to believe that the time is right for a full transition to open-source GPU kernel modules.
Supported GPUs
Not all GPUs will be compatible with the open-source GPU kernel modules. For cutting-edge platforms such as NVIDIA Grace Hopper or NVIDIA Blackwell, the open-source modules are mandatory, as proprietary drivers are unsupported. NVIDIA recommends switching to the open-source modules for newer GPUs from the Turing, Ampere, Ada Lovelace, or Hopper architectures.
However, older GPUs from the Maxwell, Pascal, or Volta architectures will not be compatible with the open-source modules and should continue using the proprietary driver. For mixed deployments with older and newer GPUs, the proprietary driver remains the recommended option.
NVIDIA provides a detection helper script to assist users in determining the appropriate driver for their system.
Installer Changes
The default driver installed by all methods is shifting from the proprietary to the open-source driver. Specific scenarios requiring attention include:
- Package managers with the CUDA metapackage
- Runfile installations
- Installation helper script
- Package manager specifics
- Windows Subsystem for Linux
- CUDA Toolkit
Using Package Managers with CUDA Metapackage
When installing the CUDA Toolkit via a package manager, users typically install a top-level cuda
package, which includes both the CUDA Toolkit and the associated driver release. With the upcoming CUDA 12.6 release, the process will switch to favoring the open-source modules by default.
Using the Runfile
For those installing CUDA or NVIDIA drivers using the .run
file, the installer will automatically select the best-fit driver for the system. Users can also manually choose between proprietary and open-source drivers via UI toggles or command-line overrides.
Using the Installation Helper Script
NVIDIA has created a helper script to guide users in selecting the appropriate driver for their GPUs. The script can be run after installing the nvidia-driver-assistant
package.
Package Manager Details
NVIDIA recommends using package managers to install CUDA Toolkit and drivers. Specific commands for different distributions include:
apt: Ubuntu and Debian-based Distributions
$ sudo apt-get install nvidia-open
dnf: Red Hat Enterprise Linux, Fedora, Kylin, Amazon Linux, Rocky Linux
$ sudo dnf module install nvidia-driver:open-dkms
zypper: SUSE Linux Enterprise Server, OpenSUSE
$ sudo zypper install nvidia-open
Windows Subsystem for Linux
WSL uses the NVIDIA kernel driver from the host Windows OS, requiring no specific driver installation within WSL.
CUDA Toolkit
The installation process for the CUDA Toolkit remains unchanged. Users can install it via package managers with the following command:
$ sudo apt-get/dnf/zypper install cuda-toolkit
More Information
For detailed instructions on driver installation and CUDA Toolkit setup, refer to the CUDA Installation Guide.