Installing cuDNN Backend on Linux
Installing the CUDA Toolkit for Linux
Refer to the following instructions for installing CUDA on Linux, including the CUDA driver and toolkit: NVIDIA CUDA Installation Guide for Linux.
Installing Zlib
For Ubuntu users, to install the zlib package, run:
For RHEL users, to install the zlib package, run:
Installing the cuDNN Backend Packages on Linux
cuDNN can be installed using either distribution-specific packages (RPM and Debian packages), or a distribution-independent package (Tarballs).
The distribution-independent package has the advantage of working across a wider set of Linux distributions, but does not update the distribution’s native package management system. The distribution-specific packages interface with the distribution’s native package management system. It is recommended to use the distribution-specific packages, where possible.
Package Manager Installation
Installation using RPM or Debian packages interfaces with your system’s package management system. If the online network repository is enabled, RPM or Debian packages will be automatically downloaded at installation time using the package manager: apt-get or dnf. When using RPM or Debian local repo installers, the downloaded package contains a repository snapshot stored on the local filesystem in /var/. Such a package only informs the package manager where to find the actual installation packages, but will not install them.
Package Manager Network Installation
Ubuntu and Debian Network Installation
-
Enable the network repository. Perform the steps described in the NVIDIA CUDA Installation Guide for Ubuntu or the NVIDIA CUDA Installation Guide for Debian.
For the
$distro/$archnoted in the above links, refer to the cuDNN Support Matrix for the$distro/$archsupported versions, as cuDNN’s Support Matrix might differ from CUDA.Where
$distro/$archshould be replaced by one of the following:ubuntu2204/x86_64ubuntu2204/sbsaubuntu2204/cross-linux-sbsaubuntu2204/arm64ubuntu2204/cross-linux-aarch64ubuntu2404/x86_64ubuntu2404/sbsaubuntu2404/cross-linux-sbsaubuntu2404/arm64ubuntu2404/cross-linux-aarch64ubuntu2604/x86_64ubuntu2604/sbsadebian12/x86_64debian12/sbsadebian12/cross-linux-sbsadebian13/x86_64debian13/sbsadebian13/cross-linux-sbsa
For
arm64-sbsarepos:- Native:
$distro/sbsa - Cross:
$distro/cross-linux-sbsa
For
aarch64-jetsonrepos:- Native:
$distro/arm64 - Cross:
$distro/cross-linux-aarch64
-
Refresh the repository metadata.
-
Install the per-CUDA meta-packages.
To install for CUDA 12, run:
To install for CUDA 13, run:
To install cuDNN JIT for CUDA 12, run:
To install cuDNN JIT for CUDA 13, run:
-
Only one CUDA toolkit version of cuDNN 9 can be installed at a time.
-
cuDNN 9 JIT is supported only on x86_64 and SBSA (
arm64-sbsa). -
On supported platforms, the
cudnn9-cross-sbsaandcudnn9-cross-aarch64meta-packages install all the packages required for cross-platform development to SBSA (arm64-sbsa) and ARMv8 (aarch64-jetson), respectively.-
Cross
arm64-sbsafor CUDA 12: -
Cross
arm64-sbsafor CUDA 13: -
Cross
aarch64-jetsonfor CUDA 12: -
Cross
aarch64-jetsonfor CUDA 13:
-
-
On supported platforms, the
cudnn9-jit-cross-sbsameta-package installs all the packages required for cuDNN JIT cross-platform development to SBSA (arm64-sbsa).-
Cross
arm64-sbsafor CUDA 12: -
Cross
arm64-sbsafor CUDA 13:
-
RHEL, Rocky, and Amazon Linux Network Installation
-
Enable the repository.
Where
$distro/$archshould be replaced by one of the following:rhel8/x86_64rhel8/sbsarhel9/x86_64rhel9/sbsarhel10/x86_64rhel10/sbsaamzn2023/x86_64amzn2023/aarch64
For Rocky users, only the following are supported.
- For Rocky 8,
rhel8/x86_64. - For Rocky 9,
rhel9/x86_64. - For Rocky 10,
rhel10/x86_64.
For Amazon Linux 2023, use $distro=amzn2023 and $arch of x86_64 or aarch64.
-
Install the per-CUDA meta-packages.
To install for CUDA 12, run:
To install for CUDA 13, run:
To install cuDNN JIT for CUDA 12, run:
To install cuDNN JIT for CUDA 13, run:
Only one CUDA toolkit version of cuDNN 9 can be installed at a time.
SUSE Linux Enterprise Server and OpenSUSE Network Installation
-
Enable the repository.
Where
$distro/$arch“ should be replaced by one of the following:sles15/x86_64opensuse15/x86_64
-
Install the per-CUDA meta-packages.
To install for CUDA 12, run:
To install for CUDA 13, run:
To install cuDNN JIT for CUDA 12, run:
To install cuDNN JIT for CUDA 13, run:
Only one CUDA toolkit version of cuDNN 9 can be installed at a time.
Package Manager Local Installation
Ubuntu and Debian Local Installation
Before issuing the following commands, you must replace 9.x.y, $distro, and $architecture with your respective cuDNN version, OS distribution, and platform architecture.
Where $distro is one of the following:
ubuntu2204ubuntu2404ubuntu2604debian12debian13
And $architecture is one of the following:
-
For Ubuntu 26.04/24.04/22.04:
-
amd64 -
arm64 -
For Debian 13/12:
-
amd64 -
arm64
Debian 13 and Debian 12 are not supported on the ARMv8 (aarch64-jetson) platform.
-
Download the Debian package either from the developer website or through
wget.-
The local Debian package is available at https://developer.nvidia.com/cudnn. Click on the green buttons that describe your target platform and choose Deb (local) as the installer type.
-
Or, run:
-
The following commands are specific to the SBSA (arm64-sbsa) and ARMv8 (aarch64-jetson) platforms.
- Native
arm64-sbsa:
- Cross
arm64-sbsa:
- Native
aarch64-jetson:
- Cross
aarch64-jetson:
-
Navigate to your
downloadsdirectory containing the cuDNN Debian local installer file. -
Enable the local repository.
The following commands are specific to the SBSA (arm64-sbsa) and ARMv8 (aarch64-jetson) platforms.
- Native
arm64-sbsa:
- Cross
arm64-sbsa:
- Native
aarch64-jetson:
- Cross
aarch64-jetson:
-
Import the CUDA GPG key.
-
Refresh the repository metadata.
-
Install the per-CUDA meta-packages.
To install for CUDA 12, run:
To install for CUDA 13, run:
To install cuDNN JIT for CUDA 12, run:
To install cuDNN JIT for CUDA 13, run:
-
Only one CUDA toolkit version of cuDNN 9 can be installed at a time.
-
cuDNN 9 JIT is supported only on x86_64 and SBSA (
arm64-sbsa -
The following commands are specific to the SBSA (
arm64-sbsa) and ARMv8 (aarch64-jetson) platforms.-
Cross
arm64-sbsafor CUDA 12: -
Cross
arm64-sbsafor CUDA 13: -
Cross
arm64-jetsonfor CUDA 12: -
Cross
aarch64-jetsonfor CUDA 13:
-
-
The following commands are specific to cuDNN JIT on the SBSA (
arm64-sbsa) platform.-
Cross
arm64-sbsafor CUDA 12: -
Cross
arm64-sbsafor CUDA 13:
-
RHEL, Rocky, and Amazon Linux Local Installation
Before issuing the following commands, you must replace 9.x.y, $distro, and $architecture with your respective cuDNN version, OS distribution, and platform architecture.
Where $distro is one of the following:
For RHEL 10/Rocky 10:
-
rhel10 -
For RHEL 9/Rocky 9:
-
rhel9 -
For RHEL 8/Rocky 8:
-
rhel8 -
For Amazon Linux 2023:
-
amzn2023
And $architecture is one of the following:
-
For RHEL 10:
-
x86_64 -
aarch64 -
For Rocky 10:
-
x86_64 -
For RHEL 9:
-
x86_64 -
aarch64 -
For Rocky 9:
-
x86_64 -
For RHEL 8:
-
x86_64 -
aarch64 -
For Rocky 8:
-
x86_64 -
For Amazon Linux 2023:
-
x86_64 -
aarch64
-
Download the RPM package either from the developer website or through
wget.-
The local RPM package is available at https://developer.nvidia.com/cudnn. Click on the green buttons that describe your target platform and choose RPM (local) as the installer type.
-
Or, run:
-
For RHEL users, the following command is specific to the SBSA (arm64-sbsa) platform.
- Native
arm64-sbsa:
-
Navigate to your
downloadsdirectory containing the cuDNN RPM local installer file. -
Enable the local repository.
For RHEL users, the following command is specific to the SBSA (arm64-sbsa) platform.
- Native
arm64-sbsa:
-
Refresh the repository metadata.
-
Install the per-CUDA meta-packages.
To install for CUDA 12, run:
To install for CUDA 13, run:
To install cuDNN JIT for CUDA 12, run:
To install cuDNN JIT for CUDA 13, run:
Only one CUDA toolkit version of cuDNN 9 can be installed at a time.
SUSE Linux Enterprise Server and OpenSUSE Local Installation
Before issuing the following commands, you must replace 9.x.y, $distro, and $architecture with your respective cuDNN version, OS distribution, and platform architecture.
Where $distro is one of the following:
sles15opensuse15
And $architecture is one of the following:
x86_64
-
Download the RPM package either from the developer website or through
wget.-
The local RPM package is available at https://developer.nvidia.com/cudnn. Click on the green buttons that describe your target platform and choose RPM (local) as the installer type.
-
Or, run:
-
-
Navigate to your
downloadsdirectory containing the cuDNN RPM local installer file. -
Enable the local repository.
-
Refresh the repository metadata.
-
Install the per-CUDA meta-packages.
To install for CUDA 12, run:
To install for CUDA 13, run:
To install cuDNN JIT for CUDA 12, run:
To install cuDNN JIT for CUDA 13, run:
Only one CUDA toolkit version of cuDNN 9 can be installed at a time.
Additional Package Manager Capabilities
Meta-Packages
Meta-packages are RPM and Debian packages that contain no (or few) files but have multiple dependencies. They are used to install many cuDNN packages when you may not know the details of the packages you want.
The above packages install the latest major and minor patch version of cuDNN 9.x. To install a specific cuDNN 9.x.y version, pin the cudnn9* package version to 9.x.y.
Base Packages
Base packages are RPM and Debian packages that contain actual cuDNN deliverables, such as binaries and headers. They can give you fine-grained control over what parts of cuDNN you want to install.
The above packages install the latest major and minor patch version of cuDNN 9.x. To install a specific cuDNN 9.x.y version, pin the libcudnn9* package version to 9.x.y.
Tarball Installation
In an effort to meet the needs of a growing customer base requiring alternative installer packaging formats, as well as a means of input into community CI/CD systems, Tarballs are available for download.
Redist Archive
Tarballs are provided at https://developer.download.nvidia.com/compute/cudnn/redist/.
These .tar.xz archives do not replace existing packages such as .deb, .rpm, and are not meant for general consumption, as they are not installers.
For each release, a JSON manifest is provided such as redistrib_9.x.y.z.json, which corresponds to the cuDNN 9.x.y.z release label which includes the release date, the name of each component, license name, relative URL for each platform, and checksums.
Details on parsing these JSON files are described in Parsing Redistrib JSON.
Conda Installation
Starting with cuDNN 9.23.0, cuDNN and cuDNN JIT packages are published only on the conda-forge channel and are no longer published on the nvidia channel.
Before issuing the following commands, you must replace 9.x.y with your respective cuDNN version and <cuda-major-version> with your respective CUDA major version (12 or 13). Only x86_64 and arm64-sbsa Conda packages are available.
Installing cuDNN using Conda
To install cuDNN using Conda, run:
To install cuDNN JIT using Conda, run:
Installing a Specific Release Version of cuDNN using Conda
To install a specific cuDNN release, pin the package version in the install command.
For example, for cuDNN:
For cuDNN JIT:
Uninstalling cuDNN using Conda
To uninstall cuDNN using Conda, run:
To uninstall cuDNN JIT using Conda, run:
Python Wheels - Linux Installation
NVIDIA provides Python Wheels for installing cuDNN through pip, primarily for the use of cuDNN with Python. With this installation method, the cuDNN installation environment is managed via pip. Additional care must be taken to set up your host environment to use cuDNN outside the pip environment.
Before issuing the following commands, you must replace 9.x.y.z with your respective cuDNN version. On Linux, only x86_64 and aarch64 (arm64-sbsa) architectures are supported.
Prerequisites
If your pip and wheel Python modules are not up-to-date, then use the following command to upgrade these Python modules. If these Python modules are out-of-date, then the commands which follow later in this section may fail.
Installing cuDNN with Pip
To install cuDNN for CUDA 13, run:
To install cuDNN for CUDA 12, run:
To install cuDNN JIT for CUDA 13, run:
To install cuDNN JIT for CUDA 12, run:
To install cuDNN for a specific release version, include the release version in the command. For example, to install cuDNN 9.x.y.z for CUDA 13, run:
To install cuDNN 9.x.y.z for CUDA 12, run:
To install cuDNN 9.x.y.z JIT for CUDA 13, run:
To install cuDNN 9.x.y.z JIT for CUDA 12, run:
Only one CUDA toolkit version of cuDNN 9 can be installed at a time.
Verifying the Install on Linux
To verify that cuDNN is installed and is running properly, compile the mnistCUDNN sample located in the /usr/src/cudnn_samples_v9 directory in the Debian file.
-
Install the cuDNN samples.
or
-
Go to the writable path.
-
Compile the
mnistCUDNNsample. -
Run the
mnistCUDNNsample.
If cuDNN is properly installed and running on your Linux system, you will see a message similar to the following:
Upgrading From Older Versions of cuDNN to cuDNN 9.x.y
To upgrade from an older cuDNN version to 9, refer to the Package Manager Installation section and follow the steps for your target platform.
Starting with cuDNN Backend 9.10.0, side-by-side installation with previous versions of cuDNN Backend is no longer supported. If a previous version of cuDNN Backend is installed on your system, the package manager handles the uninstallation of the previous version as follows:
- The Debian package manager automatically uninstalls the previous version.
- The RPM package manager prompts you to pass a flag to uninstall the previous version.