1. 介绍
CUDA(Compute Unified Device Architecture,统一计算设备架构)是由 NVIDIA 开发的并行计算平台,利用 GPU。它被广泛用于机器学习、深度学习、3D 渲染以及许多其他计算工作负载。
在 Ubuntu 环境中使用 CUDA 时,检查 CUDA 版本非常重要,原因如下:
驱动兼容性
CUDA 只支持特定的 NVIDIA 驱动版本,若不兼容会导致 CUDA 无法正常工作。
库兼容性
TensorFlow、PyTorch 等库需要特定版本的 CUDA 和 cuDNN,因此必须确认已安装正确的版本。
避免环境冲突
如果系统上安装了多个 CUDA 版本,需要了解当前激活的是哪个版本,并根据需要在它们之间切换。
本指南将清晰说明如何在 Ubuntu 上检查 CUDA 版本。
2. 如何在 Ubuntu 上检查 CUDA 版本
在 Ubuntu 中,你可以使用以下方法检查 CUDA 版本。
方法 1:使用 nvidia-smi 检查(最简方法)
NVIDIA 驱动自带一个名为 nvidia-smi(NVIDIA System Management Interface,系统管理接口)的工具,可显示 GPU 信息。
命令
nvidia-smi
示例输出
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 530.41.03 Driver Version: 530.41.03 CUDA Version: 12.1 |
+-----------------------------------------------------------------------------+
关键点
CUDA Version: 12.1行显示驱动支持的最高 CUDA 版本。- 这可能与实际已安装的 CUDA Toolkit 版本不同,因此也请检查后面的方式。
方法 2:使用 nvcc -V 检查(面向开发者)
如果 CUDA 已正确安装,你可以检查 nvcc(CUDA 编译器)的版本。
命令
nvcc -V
示例输出
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Sun_Jul_30_19:09:40_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
关键点
release 12.1, V12.1.105→ 表示已安装的 CUDA Toolkit 版本。- 这可能与
nvidia-smi显示的版本不一致。
方法 3:检查 version.txt(手动检查)
如果 CUDA 安装在 /usr/local/cuda 下,文件 version.txt 包含版本信息。
命令
cat /usr/local/cuda/version.txt
示例输出
CUDA Version 12.1.105
关键点
- 当
nvcc -V不可用时此方法很有用。 - 必须确保
/usr/local/cuda已正确建立符号链接。
3. 如何检查 cuDNN 版本
cuDNN(CUDA Deep Neural Network)是与 CUDA 一起使用的深度学习库。检查 cuDNN 版本与 CUDA 同样重要。
方法 1:检查 cudnn_version.h
cuDNN 版本信息存放在头文件 cudnn_version.h 中。
命令
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
示例输出
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 1
关键点
- 表明已安装
cuDNN 8.9.1。 grep命令可轻松提取版本信息。- cuDNN 与 CUDA 必须兼容,请确认匹配的版本。
方法 2:使用 dpkg 检查(仅限基于 Debian 的 Linux)
在基于 Debian 的系统(如 Ubuntu)上,你可以使用 dpkg 检查已安装的 cuDNN 包。
命令
dpkg -l | grep libcudnn
示例输出
ii libcudnn8 8.9.1-1+cuda12.1 amd64 NVIDIA cuDNN Library
关键点
- 包名中显示了 cuDNN 版本(8.9.1)。
cuda12.1表示兼容的 CUDA 版本。
使用这些方法可确保你的 CUDA 环境配置正确。

4. 如何处理多个已安装的 CUDA 版本
在 Ubuntu 中,可以同时安装多个 CUDA 版本。但这可能会导致对当前使用的版本产生混淆。
在这种情况下,需要手动切换到正确的版本。
方法一:使用 update-alternatives 切换版本
Ubuntu 允许使用 update-alternatives 工具在不同的 CUDA 版本之间切换。
检查当前设置
update-alternatives --query cuda
切换版本
sudo update-alternatives --config cuda
示例输出
There are 3 choices for the alternative cuda (providing /usr/local/cuda).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/local/cuda-11.8 100 auto mode
1 /usr/local/cuda-10.2 50 manual mode
2 /usr/local/cuda-11.8 100 manual mode
3 /usr/local/cuda-12.1 110 manual mode
Press <enter> to keep the current choice[*], or type selection number:
关键点
- 运行
update-alternatives --config cuda会列出所有可用的 CUDA 版本。 - 输入对应的编号即可选择要使用的版本。
- 支持
auto mode与manual mode,手动切换时请选择manual mode。
方法二:手动配置符号链接
也可以通过手动调整符号链接来激活指定的 CUDA 版本。
检查现有符号链接
ls -l /usr/local/cuda
示例输出
lrwxrwxrwx 1 root root 20 Feb 1 12:34 /usr/local/cuda -> /usr/local/cuda-11.8
更改 CUDA 版本
sudo rm /usr/local/cuda
sudo ln -s /usr/local/cuda-12.1 /usr/local/cuda
验证
ls -l /usr/local/cuda
关键点
/usr/local/cuda被用作默认的 CUDA 路径,更新该链接即可切换活动版本。- 使用
ln -s可以轻松在不同版本之间切换。
通过上述方法,你可以管理多个 CUDA 安装,并确保使用正确的版本。
5. 常见问题 (FAQ)
本节汇总了检查 CUDA 版本时常见的问题,可用于故障排除。
Q1:未找到 nvcc -V!
如果缺少 nvcc 命令,可能是 CUDA 路径未设置。
解决方案 1:检查 CUDA 是否已安装
ls /usr/local/cuda/
解决方案 2:将 nvcc 添加到 PATH
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
完成后,再次运行 nvcc -V 以确认其正常工作。
Q2:为什么 nvidia-smi 显示的 CUDA 版本不同?
nvidia-smi 显示的 CUDA 版本代表 NVIDIA 驱动支持的最高 CUDA 版本。
检查示例:
nvidia-smi
示例输出:
CUDA Version: 12.1
但这并不表示已安装的 CUDA Toolkit 版本。请使用 nvcc -V 或 version.txt 来确认实际安装的版本。
Q3:如何检查 CUDA 与 cuDNN 的兼容性?
最准确的方式是参考 NVIDIA 官方的支持矩阵。
官方网站:
同时,你也应通过检查已安装的版本来确认兼容性:
检查 CUDA 版本
nvcc -V
检查 cuDNN 版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
合理管理这些版本即可避免 CUDA 与 cuDNN 之间的兼容性问题。
6. 总结
本文阐述了在 Ubuntu 环境下如何检查 CUDA 版本。
下面回顾一下关键要点。
如何检查 CUDA 版本
| Method | Command | Description |
|---|---|---|
nvidia-smi | nvidia-smi | Shows the CUDA version supported by the driver |
nvcc -V | nvcc -V | Shows the installed CUDA Toolkit version |
version.txt | cat /usr/local/cuda/version.txt | Manually check the installed CUDA version |
如何检查 cuDNN
| Method | Command | Description |
|---|---|---|
cudnn_version.h | cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 | Check version from the header file |
dpkg | dpkg -l | grep libcudnn | Check installed cuDNN packages |
如何切换 CUDA 版本
| Method | Command | Description |
|---|---|---|
update-alternatives | sudo update-alternatives --config cuda | Switch between multiple CUDA versions |
| Symbolic Link | sudo ln -s /usr/local/cuda-XX.X /usr/local/cuda | Manually switch CUDA versions |
关键要点
- 在开发前始终验证您的 CUDA 版本
- 检查 CUDA 与 cuDNN 之间的兼容性
- 了解在存在多个 CUDA 安装时如何切换版本
通过正确管理您的环境,您可以最大化 CUDA 的性能和稳定性。
我们希望本指南能帮助您在 Ubuntu 上有效验证 CUDA 版本。



