NVIDIA Fully Adopts Open-Source GPU Kernel Modules in Upcoming R560 Driver Release

Lawrence Jengar  Jul 18, 2024 13:52  UTC 05:52

3 Min Read

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.



Read More