CUDA Installation Guide Linux
CUDA Installation Guide Linux
Release 12.9
NVIDIA Corporation
1 Overview 1
2 Introduction 3
2.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 OS Support Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Host Compiler Support Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Host Compiler Compatibility Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2 Supported C++ Dialects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 About This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.1 Administrative Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Pre-installation Actions 9
3.1 Verify You Have a CUDA-Capable GPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Verify You Have a Supported Version of Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Verify the System Has gcc Installed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Choose an Installation Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5 Download the NVIDIA CUDA Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.6 Handle Conflicting Installation Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
i
4.6.1 Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6.2 Local Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6.3 Network Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.6.4 Common Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.7 Windows Subsystem for Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.1 Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.2 Local Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.3 Network Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.7.4 Common Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.8 Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8.1 Prepare Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8.2 Local Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8.3 Network Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8.4 Common Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.9 Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.9.1 Preparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.9.2 Local Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.9.3 Network Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.9.4 Common Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.10 Amazon Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.10.1 Prepare Amazon Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.10.2 Local Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.10.3 Network Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.10.4 Common Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.11 Azure Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.11.1 Prepare Azure Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.11.2 Local Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.11.3 Network Repository Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.11.4 Common Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.12 Additional Package Manager Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.12.1 Available Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.12.2 Meta Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.12.3 Package Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.12.3.1 Amazon Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.12.3.2 Fedora . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.12.3.3 KylinOS / Red Hat Enterprise Linux / Rocky Linux / Oracle Linux . . . . . . . . . . 27
4.12.3.4 Azure Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.12.3.5 OpenSUSE / SUSE Linux Enterprise Server . . . . . . . . . . . . . . . . . . . . . . . . 27
4.12.3.6 Debian / Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.12.3.7 Other Package Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Driver Installation 29
6 Runfile Installation 31
6.1 Runfile Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.3 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.4 Uninstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7 Conda Installation 35
7.1 Conda Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.2 Installing CUDA Using Conda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.3 Uninstalling CUDA Using Conda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7.4 Installing Previous CUDA Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
ii
7.5 Upgrading from cudatoolkit Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8 Pip Wheels 37
8.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.2 Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
8.3 Metapackages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
11 Post-installation Actions 49
11.1 Mandatory Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.1.1 Environment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
11.2 Recommended Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2.1 Install Writable Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2.2 Verify the Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2.2.1 Running the Binaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
11.2.3 Install Nsight Eclipse Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.2.4 Local Repo Removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.3 Optional Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.3.1 Install Third-party Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
11.3.2 Install the Source Code for cuda-gdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
11.3.3 Select the Active Version of CUDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
13 Advanced Setup 57
14 Additional Considerations 59
iii
15.5 How can I tell X to ignore a GPU for compute-only use? . . . . . . . . . . . . . . . . . . . . 62
15.6 Why doesn’t the cuda-repo package install the CUDA Toolkit? . . . . . . . . . . . . . . . . 63
15.7 How do I install an older CUDA version using a network repo? . . . . . . . . . . . . . . . . 63
15.8 How do I handle “Errors were encountered while processing: glx-diversions”? . . . . . . . 63
16 Notices 65
16.1 Notice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
16.2 OpenCL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
16.3 Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
17 Copyright 67
iv
Chapter 1. Overview
The NVIDIA CUDA Installation Guide for Linux provides comprehensive instructions for installing the
CUDA Toolkit across multiple Linux distributions and architectures. CUDA® is NVIDIA’s parallel com-
puting platform that enables dramatic performance increases by harnessing GPU power for computa-
tional workloads. This guide covers four primary installation methods: package manager installation
(recommended for most users, supporting RPM and DEB packages with native package management
integration), runfile installation (distribution-independent standalone installer), Conda installation (for
environment management), and pip wheels (Python-focused runtime installation). The guide supports
major Linux distributions including Ubuntu, Red Hat Enterprise Linux, SUSE, Debian, Fedora, and spe-
cialized distributions like Amazon Linux and Azure Linux, across x86_64, ARM64-SBSA, and ARM64-
Jetson architectures. Each installation method includes detailed pre-installation requirements (CUDA-
capable GPU, supported OS version, GCC compiler), step-by-step procedures, and post-installation
configuration including environment setup, sample verification, and integration with development
tools like Nsight and CUDA-GDB.
1
Installation Guide for Linux, Release 12.9
2 1. Overview
Chapter 2. Introduction
CUDA® is a parallel computing platform and programming model invented by NVIDIA® . It enables dra-
matic increases in computing performance by harnessing the power of the graphics processing unit
(GPU).
CUDA was developed with several design goals in mind:
▶ Provide a small set of extensions to standard programming languages, like C, that enable a
straightforward implementation of parallel algorithms. With CUDA C/C++, programmers can fo-
cus on the task of parallelization of the algorithms rather than spending time on their implemen-
tation.
▶ Support heterogeneous computation where applications use both the CPU and GPU. Serial por-
tions of applications are run on the CPU, and parallel portions are offloaded to the GPU. As such,
CUDA can be incrementally applied to existing applications. The CPU and GPU are treated as sep-
arate devices that have their own memory spaces. This configuration also allows simultaneous
computation on the CPU and GPU without contention for memory resources.
CUDA-capable GPUs have hundreds of cores that can collectively run thousands of computing threads.
These cores have shared resources including a register file and a shared memory. The on-chip shared
memory allows parallel tasks running on these cores to share data without sending it over the system
memory bus.
This guide will show you how to install and check the correct operation of the CUDA development tools.
Note: Instructions for installing NVIDIA Drivers are now in the Driver installation guide.
3
Installation Guide for Linux, Release 12.9
4 2. Introduction
Installation Guide for Linux, Release 12.9
(1) The following notes apply to the kernel versions supported by CUDA:
▶ For specific kernel versions supported on Red Hat Enterprise Linux (RHEL), visit https://access.
redhat.com/articles/3078.
▶ A list of kernel versions including the release dates for SUSE Linux Enterprise Server (SLES) is
available at https://www.suse.com/support/kb/doc/?id=000019587.
For GCC and Clang, the preceding table indicates the minimum version and the latest version sup-
ported. If you are on a Linux distribution that may use an older version of GCC toolchain as default
than what is listed above, it is recommended to upgrade to a newer toolchain CUDA 11.0 or later toolkit.
Newer GCC toolchains are available with the Red Hat Developer Toolset for example. For platforms
that ship a compiler version older than GCC 6 by default, linking to static or dynamic libraries that are
shipped with the CUDA Toolkit is not supported. We only support libstdc++ (GCC’s implementation)
for all the supported host compilers for the platforms listed above.
6 2. Introduction
Installation Guide for Linux, Release 12.9
8 2. Introduction
Chapter 3. Pre-installation Actions
Some actions must be taken before the CUDA Toolkit can be installed on Linux:
▶ Verify the system has a CUDA-capable GPU.
▶ Verify the system is running a supported version of Linux.
▶ Verify the system has gcc installed.
▶ Download the NVIDIA CUDA Toolkit.
▶ Handle conflicting installation methods.
Note: You can override the install-time prerequisite checks by running the installer with the
-override flag. Remember that the prerequisites will still be required to use the NVIDIA CUDA Toolkit.
If you do not see any settings, update the PCI hardware database that Linux maintains by entering
update-pciids (generally found in ∕sbin) at the command line and rerun the previous lspci com-
mand.
If your graphics card is from NVIDIA and it is listed in https://developer.nvidia.com/cuda-gpus, your GPU
is CUDA-capable. The Release Notes for the CUDA Toolkit also contain a list of supported products.
9
Installation Guide for Linux, Release 12.9
$ hostnamectl
If an error message displays, you need to install the development tools from your Linux distribution or
obtain a version of gcc and its accompanying toolchain from the Web.
Note: For both native as well as cross development, the toolkit must be installed using the
distribution-specific installer. See the CUDA Cross-Platform Installation section for more details.
10 3. Pre-installation Actions
Installation Guide for Linux, Release 12.9
md5sum <file>
Azure Linux:
# tdnf remove <package_name>
Debian / Ubuntu:
# apt --purge remove <package_name>
12 3. Pre-installation Actions
Chapter 4. Package Manager
Installation
Basic instructions can be found in the Quick Start Guide. Read on for more detailed instructions.
4.1. Overview
Installation using RPM or Debian packages interfaces with your system’s package management sys-
tem. 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.
If the online network repository is enabled, RPM or Debian packages will be automatically downloaded
at installation time using the package manager: apt-get, dnf, tdnf, or zypper.
Distribution-specific instructions detail how to install CUDA:
▶ Red Hat Enterprise Linux / Rocky Linux / Oracle Linux
▶ KylinOS
▶ Fedora
▶ SUSE Linux Enterprise Server
▶ OpenSUSE Leap
▶ Windows Subsystem for Linux
▶ Ubuntu
▶ Debian
▶ Amazon Linux
▶ Azure Linux
Finally, some helpful package manager capabilities are detailed.
These instructions are for native development only. For cross-platform development, see the CUDA
Cross-Platform Environment section.
Note: Optional components such as nvidia-fs, libnvidia-nscq, and fabricmanager are not
installed by default and will have to be installed separately as needed.
13
Installation Guide for Linux, Release 12.9
4.2.1. Preparation
1. Perform the Pre-installation Actions.
2. Satisfy third-party package dependencies by enabling optional repositories:
▶ Red Hat Enterprise Linux 9:
# subscription-manager repos --enable=rhel-9-for-$arch-appstream-rpms
# subscription-manager repos --enable=rhel-9-for-$arch-baseos-rpms
# subscription-manager repos --enable=codeready-builder-for-rhel-9-$arch-rpms
▶ Rocky Linux 9:
# dnf config-manager --set-enabled crb
▶ Rocky Linux 8:
# dnf config-manager --set-enabled powertools
▶ Oracle Linux 9:
# dnf config-manager --set-enabled ol9_codeready_builder
▶ Oracle Linux 8:
# dnf config-manager --set-enabled ol8_codeready_builder
4.3. KylinOS
4.3.1. Preparation
1. Perform the pre-installation actions.
2. Choose an installation method: Local Repository Installation or Network Repository Installation.
4.3. KylinOS 15
Installation Guide for Linux, Release 12.9
4.4. Fedora
4.4.1. Preparation
1. Perform the pre-installation actions.
2. Choose an installation method: Local Repository Installation or Network Repository Installation.
2. Override the default g++ compiler. Refer to the documentation for NVCC regarding the environ-
ment variables. For example:
$ export NVCC_CCBIN='g++-13'
4.4. Fedora 17
Installation Guide for Linux, Release 12.9
4.5.1. Preparation
1. Perform the Pre-installation Actions.
2. Choose an installation method: Local Repository Installation or Network Repository Installation.
4.6.1. Preparation
1. Perform the Pre-installation Actions.
2. Choose an installation method: Local Repository Installation or Network Repository Installation.
4.7.1. Preparation
1. Perform the Pre-installation Actions.
2. Choose an installation method: Local Repository Installation or Network Repository Installation.
# mv cuda-<distro>.pin ∕etc∕apt∕preferences.d∕cuda-repository-pin-600
# dpkg -i cuda-keyring_1.1-1_all.deb
4.8. Ubuntu
# mv cuda-<distro>.pin ∕etc∕apt∕preferences.d∕cuda-repository-pin-600
# dpkg -i cuda-keyring_1.1-1_all.deb
4.8. Ubuntu 21
Installation Guide for Linux, Release 12.9
4.9. Debian
4.9.1. Preparation
1. Perform the Pre-installation Actions.
2. Enable the contrib repository:
# add-apt-repository contrib
# dpkg -i cuda-keyring_1.1-1_all.deb
Azure Linux 3:
# tdnf install azurelinux-repos-extended
Note: 32-bit compilation native and cross-compilation is removed from CUDA 12.0 and later Toolkit.
Use the CUDA Toolkit from earlier releases for 32-bit compilation. Hopper does not support 32-bit
applications.
The packages installed by the packages above can also be installed individually by specifying their
names explicitly. The list of available packages be can obtained with:
Amazon Linux / Fedora / KylinOS / Red Hat Enterprise Linux / Rocky Linux / Oracle Linux:
Azure Linux:
# tdnf --disablerepo="*" --enablerepo="cuda-cm2-<cuda X-Y version>-local" list
Debian / Ubuntu:
# cat ∕var∕lib∕apt∕lists∕*cuda*Packages | grep "Package:"
4.12.3.2 Fedora
4.12.3.3 KylinOS / Red Hat Enterprise Linux / Rocky Linux / Oracle Linux
More information about driver installation can be found in the Driver Installation Guide for Linux
29
Installation Guide for Linux, Release 12.9
30 5. Driver Installation
Chapter 6. Runfile Installation
Basic instructions can be found in the Quick Start Guide. Read on for more detailed instructions.
This section describes the installation and configuration of CUDA when using the standalone installer.
The standalone installer is a .run file and is completely self-contained.
6.2. Installation
1. Perform the pre-installation actions.
2. Reboot into text mode (runlevel 3).
This can usually be accomplished by adding the number “3” to the end of the system’s kernel
boot parameters.
Since the NVIDIA drivers are not yet installed, the text terminals may not display correctly. Tem-
porarily adding “nomodeset” to the system’s kernel boot parameters may fix this issue.
Consult your system’s bootloader documentation for information on how to make the above boot
parameter changes.
3. Run the installer and follow the on-screen prompts:
# sh cuda_<version>_linux.run
31
Installation Guide for Linux, Release 12.9
32 6. Runfile Installation
Installation Guide for Linux, Release 12.9
6.4. Uninstallation
To uninstall the CUDA Toolkit, run the uninstallation script provided in the bin directory of the toolkit.
By default, it is located in ∕usr∕local∕cuda-12.9∕bin:
# ∕usr∕local∕cuda-12.9∕bin∕cuda-uninstaller
34 6. Runfile Installation
Chapter 7. Conda Installation
This section describes the installation and configuration of CUDA when using the Conda installer. The
Conda packages are available at https://anaconda.org/nvidia.
Note: Install CUDA in a dedicated Conda environment instead of the base environment to avoid in-
stallation issues.
35
Installation Guide for Linux, Release 12.9
Note: Some extra files, such as headers, will be included in this installation which were not
included in the cudatoolkit package. If you need to reduce your installation further, replace
cuda-libraries-dev with the specific libraries you need.
36 7. Conda Installation
Chapter 8. Pip Wheels
NVIDIA provides Python Wheels for installing CUDA through pip, primarily for using CUDA with Python.
These packages are intended for runtime use and do not currently include developer tools (these can
be installed separately).
Please note that with this installation method, CUDA installation environment is managed via pip and
additional care must be taken to set up your host environment to use CUDA outside the pip environ-
ment.
8.1. Prerequisites
To install Wheels, you must first install the nvidia-pyindex package, which is required in order to
set up your pip installation to fetch additional Python modules from the NVIDIA NGC PyPI repo. If your
pip and setuptools 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.
$ python3 -m pip install --upgrade setuptools pip wheel
If your project is using a requirements.txt file, then you can add the following line to your
requirements.txt file as an alternative to installing the nvidia-pyindex package:
--extra-index-url https:∕∕pypi.org∕simple
8.2. Procedure
Install the CUDA runtime package:
$ python3 -m pip install nvidia-cuda-runtime-cu12
Optionally, install additional packages as listed below using the following command:
$ python3 -m pip install nvidia-<library>
37
Installation Guide for Linux, Release 12.9
8.3. Metapackages
The following metapackages will install the latest version of the named component on Linux for the
indicated CUDA version. “cu12” should be read as “cuda12”.
▶ nvidia-cublas-cu12
▶ nvidia-cuda-cccl-cu12
▶ nvidia-cuda-cupti-cu12
▶ nvidia-cuda-nvcc-cu12
▶ nvidia-cuda-nvrtc-cu12
▶ nvidia-cuda-opencl-cu12
▶ nvidia-cuda-runtime-cu12
▶ nvidia-cuda-sanitizer-api-cu12
▶ nvidia-cufft-cu12
▶ nvidia-curand-cu12
▶ nvidia-cusolver-cu12
▶ nvidia-cusparse-cu12
▶ nvidia-npp-cu12
▶ nvidia-nvfatbin-cu12
▶ nvidia-nvjitlink-cu12
▶ nvidia-nvjpeg-cu12
▶ nvidia-nvml-dev-cu12
▶ nvidia-nvtx-cu12
These metapackages install the following packages:
▶ nvidia-cublas-cu129
▶ nvidia-cuda-cccl-cu129
▶ nvidia-cuda-cupti-cu129
▶ nvidia-cuda-nvcc-cu129
▶ nvidia-cuda-nvrtc-cu129
▶ nvidia-cuda-opencl-cu129
▶ nvidia-cuda-runtime-cu129
▶ nvidia-cuda-sanitizer-api-cu129
▶ nvidia-cufft-cu129
▶ nvidia-curand-cu129
▶ nvidia-cusolver-cu129
▶ nvidia-cusparse-cu129
▶ nvidia-npp-cu129
38 8. Pip Wheels
Installation Guide for Linux, Release 12.9
▶ nvidia-nvfatbin-cu129
▶ nvidia-nvjitlink-cu129
▶ nvidia-nvjpeg-cu129
▶ nvidia-nvml-dev-cu129
▶ nvidia-nvtx-cu129
8.3. Metapackages 39
Installation Guide for Linux, Release 12.9
40 8. Pip Wheels
Chapter 9. CUDA Cross-Platform
Environment
Cross development for arm64-sbsa is supported on Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04, Kyli-
nOS 10, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 9, and SUSE Linux Enterprise Server
15.
Cross development for arm64-jetson is only supported on Ubuntu 22.04.
We recommend selecting a host development environment that matches the supported cross-target
environment. This selection helps prevent possible host/target incompatibilities, such as gcc or glibc
version mismatches.
9.1.1. Ubuntu
1. Perform the Pre-installation Actions.
2. Choose an installation method: Local Cross Repository Installation or Network Cross Repository
Installation.
41
Installation Guide for Linux, Release 12.9
# dpkg -i cuda-keyring_1.1-1_all.deb
b. For arm64-jetson:
# apt install cuda-cross-aarch64
c. For QNX:
# apt install cuda-cross-qnx
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, tarball and zip archives are avail-
able for each component.
These tarball and zip archives, known as binary archives, are provided at https://developer.download.
nvidia.com/compute/cuda/redist/.
These component .tar.xz and .zip binary archives do not replace existing packages such as .deb, .rpm,
runfile, conda, etc. and are not meant for general consumption, as they are not installers. However
this standardized approach will replace existing .txz archives.
For each release, a JSON manifest is provided such as redistrib_11.4.2.json, which corresponds to the
CUDA 11.4.2 release label (CUDA 11.4 update 2) which includes the release date, the name of each
component, license name, relative URL for each platform and checksums.
Package maintainers are advised to check the provided LICENSE for each component prior to redis-
tribution. Instructions for developers using CMake and Bazel build systems are provided in the next
sections.
45
Installation Guide for Linux, Release 12.9
"sha256":
,→"d08a1b731e5175aa3ae06a6d1c6b3059dd9ea13836d947018ea5e3ec2ca3d62b",
"md5": "da198656b27a3559004c3b7f20e5d074",
"size": "828300"
},
"linux-ppc64le": {
"relative_path": "cuda_cudart∕linux-ppc64le∕cuda_cudart-linux-ppc64le-11.
,→4.108-archive.tar.xz",
"sha256":
,→"831dffe062ae3ebda3d3c4010d0ee4e40a01fd5e6358098a87bb318ea7c79e0c",
"md5": "ca73328e3f8e2bb5b1f2184c98c3a510",
"size": "776840"
},
"linux-sbsa": {
"relative_path": "cuda_cudart∕linux-sbsa∕cuda_cudart-linux-sbsa-11.4.108-
,→archive.tar.xz",
"sha256":
,→"2ab9599bbaebdcf59add73d1f1a352ae619f8cb5ccec254093c98efd4c14553c",
"md5": "aeb5c19661f06b6398741015ba368102",
"size": "782372"
},
"windows-x86_64": {
"relative_path": "cuda_cudart∕windows-x86_64∕cuda_cudart-windows-x86_64-
,→11.4.108-archive.zip",
"sha256":
,→"b59756c27658d1ea87a17c06d064d1336576431cd64da5d1790d909e455d06d3",
"md5": "7f6837a46b78198402429a3760ab28fc",
"size": "2897751"
}
}
}
The path to the extraction location can be specified with the CUDAToolkit_ROOT environmental vari-
able. For example CMakeLists.txt and commands, see cmake/1_FindCUDAToolkit/.
For older versions of CMake, the ExternalProject_Add module is an alternative method. For example
CMakeLists.txt file and commands, see cmake/2_ExternalProject/.
The post-installation actions must be manually performed. These actions are split into mandatory,
recommended, and optional sections.
In addition, when using the runfile installation method, the LD_LIBRARY_PATH variable needs to con-
tain ∕usr∕local∕cuda-12.9∕lib64 on a 64-bit system and ∕usr∕local∕cuda-12.9∕lib for the
32 bit compatibility:
$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:∕usr∕local∕cuda-12.9∕lib64
Note that the above paths change when using a custom install path with the runfile installation
method.
49
Installation Guide for Linux, Release 12.9
Note: Ensure the PATH and, if using the runfile installation method, LD_LIBRARY_PATH variables are
set correctly.
Azure Linux
# tdnf remove "cuda-repo-<distro>-X-Y-local*"
OpenSUSE / SLES
# zypper remove "cuda-repo-<distro>-X-Y-local*"
SLES
OpenSUSE
# zypper install freeglut-devel libX11-devel libXi-devel libXmu-devel make Mesa-libGL-
,→devel freeimage-devel
Debian / Ubuntu
# apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev�
,→libglu1-mesa-dev libfreeimage-dev libglfw3-dev
Follow the below steps to properly uninstall the CUDA Toolkit from your system. These steps will
ensure that the uninstallation will be clean.
Amazon Linux / Fedora / Kylin OS / Red Hat Enterprise Linux / Rocky Linux / Oracle Linux:
# dnf remove "cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*"
,→"*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
Azure Linux:
# tdnf remove "cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*"
,→"*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
Debian / Ubuntu:
# apt remove --purge "*cuda*" "*cublas*" "*cufft*" "*cufile*" "*curand*" "*cusolver*"
,→"*cusparse*" "*gds-tools*" "*npp*" "*nvjpeg*" "nsight*" "*nvvm*"
55
Installation Guide for Linux, Release 12.9
Below is information on some advanced setup scenarios which are not covered in the basic instructions
above.
57
Installation Guide for Linux, Release 12.9
.∕runfile.run -x
RPM
The RPM packages can be extracted by running:
rpm2cpio package.rpm | cpio -idmv
58 deb 13. Advanced Setup
The Deb packages can be extracted by running:
dpkg-deb -x package.deb output_dir
Chapter 14. Additional Considerations
Now that you have CUDA-capable hardware and the NVIDIA CUDA Toolkit installed, you can examine
and enjoy the numerous included programs. To begin using CUDA to accelerate the performance of
your own applications, consult the CUDA C++ Programming Guide, located in ∕usr∕local∕cuda-12.
9∕doc.
A number of helpful development tools are included in the CUDA Toolkit to assist you as you develop
your CUDA programs, such as NVIDIA® Nsight™ Eclipse Edition, NVIDIA Visual Profiler, CUDA-GDB, and
CUDA-MEMCHECK.
For technical support on programming questions, consult and participate in the developer forums at
https://forums.developer.nvidia.com/c/accelerated-computing/cuda/206.
59
Installation Guide for Linux, Release 12.9
The RPM and Deb packages cannot be installed to a custom install location directly using the pack-
age managers. See the “Install CUDA to a specific directory using the Package Manager installation
method” scenario in the Advanced Setup section for more information.
61
Installation Guide for Linux, Release 12.9
15.6. Why doesn’t the cuda-repo package install the CUDA Toolkit? 63
Installation Guide for Linux, Release 12.9
16.1. Notice
This document is provided for information purposes only and shall not be regarded as a warranty of a
certain functionality, condition, or quality of a product. NVIDIA Corporation (“NVIDIA”) makes no repre-
sentations or warranties, expressed or implied, as to the accuracy or completeness of the information
contained in this document and assumes no responsibility for any errors contained herein. NVIDIA shall
have no liability for the consequences or use of such information or for any infringement of patents
or other rights of third parties that may result from its use. This document is not a commitment to
develop, release, or deliver any Material (defined below), code, or functionality.
NVIDIA reserves the right to make corrections, modifications, enhancements, improvements, and any
other changes to this document, at any time without notice.
Customer should obtain the latest relevant information before placing orders and should verify that
such information is current and complete.
NVIDIA products are sold subject to the NVIDIA standard terms and conditions of sale supplied at the
time of order acknowledgement, unless otherwise agreed in an individual sales agreement signed by
authorized representatives of NVIDIA and customer (“Terms of Sale”). NVIDIA hereby expressly objects
to applying any customer general terms and conditions with regards to the purchase of the NVIDIA
product referenced in this document. No contractual obligations are formed either directly or indirectly
by this document.
NVIDIA products are not designed, authorized, or warranted to be suitable for use in medical, military,
aircraft, space, or life support equipment, nor in applications where failure or malfunction of the NVIDIA
product can reasonably be expected to result in personal injury, death, or property or environmental
damage. NVIDIA accepts no liability for inclusion and/or use of NVIDIA products in such equipment or
applications and therefore such inclusion and/or use is at customer’s own risk.
NVIDIA makes no representation or warranty that products based on this document will be suitable for
any specified use. Testing of all parameters of each product is not necessarily performed by NVIDIA.
It is customer’s sole responsibility to evaluate and determine the applicability of any information con-
tained in this document, ensure the product is suitable and fit for the application planned by customer,
and perform the necessary testing for the application in order to avoid a default of the application or
the product. Weaknesses in customer’s product designs may affect the quality and reliability of the
NVIDIA product and may result in additional or different conditions and/or requirements beyond those
contained in this document. NVIDIA accepts no liability related to any default, damage, costs, or prob-
lem which may be based on or attributable to: (i) the use of the NVIDIA product in any manner that is
contrary to this document or (ii) customer product designs.
No license, either expressed or implied, is granted under any NVIDIA patent right, copyright, or other
NVIDIA intellectual property right under this document. Information published by NVIDIA regarding
third-party products or services does not constitute a license from NVIDIA to use such products or
65
Installation Guide for Linux, Release 12.9
services or a warranty or endorsement thereof. Use of such information may require a license from a
third party under the patents or other intellectual property rights of the third party, or a license from
NVIDIA under the patents or other intellectual property rights of NVIDIA.
Reproduction of information in this document is permissible only if approved in advance by NVIDIA
in writing, reproduced without alteration and in full compliance with all applicable export laws and
regulations, and accompanied by all associated conditions, limitations, and notices.
THIS DOCUMENT AND ALL NVIDIA DESIGN SPECIFICATIONS, REFERENCE BOARDS, FILES, DRAWINGS,
DIAGNOSTICS, LISTS, AND OTHER DOCUMENTS (TOGETHER AND SEPARATELY, “MATERIALS”) ARE
BEING PROVIDED “AS IS.” NVIDIA MAKES NO WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR
OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ALL IMPLIED WAR-
RANTIES OF NONINFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
TO THE EXTENT NOT PROHIBITED BY LAW, IN NO EVENT WILL NVIDIA BE LIABLE FOR ANY DAMAGES,
INCLUDING WITHOUT LIMITATION ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE, OR CON-
SEQUENTIAL DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARIS-
ING OUT OF ANY USE OF THIS DOCUMENT, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY
OF SUCH DAMAGES. Notwithstanding any damages that customer might incur for any reason whatso-
ever, NVIDIA’s aggregate and cumulative liability towards customer for the products described herein
shall be limited in accordance with the Terms of Sale for the product.
16.2. OpenCL
OpenCL is a trademark of Apple Inc. used under license to the Khronos Group Inc.
16.3. Trademarks
NVIDIA and the NVIDIA logo are trademarks or registered trademarks of NVIDIA Corporation in the
U.S. and other countries. Other company and product names may be trademarks of the respective
companies with which they are associated.
66 16. Notices
Chapter 17. Copyright
Copyright
©2009-2025, NVIDIA Corporation & affiliates. All rights reserved
67