According to the NVIDIA Technology Blog, NVIDIA has announced a significant change in its driver strategy, switching entirely to open-source GPU kernel modules with its upcoming R560 driver release. This move builds on the company’s initial release of open-source GPU kernel modules with its R515 driver in May 2022, which was aimed at data center compute GPUs.
Performance and new features
Over the past two years, NVIDIA has worked diligently to ensure that its open-source GPU kernel modules meet or exceed the performance of their proprietary counterparts. The company has also introduced several new features, including:
- Support for heterogeneous memory management (HMM)
- confidential computing
- Coherent memory architecture for the Grace platform
- And more
These developments have led NVIDIA to believe that the time has come to fully transition to open source GPU kernel modules.
Supported GPUs
Not all GPUs are compatible with open source GPU kernel modules. For cutting edge platforms such as NVIDIA Grace Hopper or NVIDIA Blackwell, open source modules are required as proprietary drivers are not supported. NVIDIA recommends switching to open source modules for newer GPUs with Turing, Ampere, Ada Lovelace, or Hopper architectures.
However, older GPUs with Maxwell, Pascal, or Volta architectures are not compatible with the open source modules and must continue to use proprietary drivers. For deployments with a mix of older and newer GPUs, proprietary drivers remain the recommended option.
NVIDIA provides a detection helper script to help users determine which drivers are right for their system.
Installer changes
The default drivers installed by all means are transitioning from proprietary drivers to open source drivers. Some specific scenarios that require attention are:
- Package manager using CUDA metapackage
- Installing Runfile
- Installation helper script
- Package Manager Details
- Windows Subsystem for Linux
- CUDA Toolkit
Using the Package Manager with the CUDA Metapackage
When installing the CUDA Toolkit via a package manager, users will typically install the top level. cuda
The package includes both the CUDA Toolkit and the associated driver releases. The upcoming CUDA 12.6 release will switch to a process that prefers open source modules by default.
Using Runfile
When installing CUDA or NVIDIA drivers .run
From the file, the installer automatically selects the most appropriate driver for the system. Users can also manually select 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 right driver for their GPU. This script can be run after installing: nvidia-driver-assistant
package.
Package Manager Details
NVIDIA recommends using the package manager to install the CUDA toolkit and drivers. Specific commands for various distributions are as follows:
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 drivers of the host Windows OS, so there is no need to install any specific drivers within WSL.
CUDA Toolkit
The installation process for the CUDA Toolkit remains unchanged. Users can install it via their package manager using the following command:
$ sudo apt-get/dnf/zypper install cuda-toolkit
Additional information
For detailed instructions on installing the driver and setting up the CUDA Toolkit, see the CUDA Installation Guide.
Image source: Shutterstock