Ubuntu 24.04安装PyTorch时CUDA和cuDNN应该如何匹配版本?

在 Ubuntu 24.04 上安装 PyTorch 时,CUDA 和 cuDNN 的版本匹配需遵循 PyTorch 官方预编译二进制包的约束,而非自行手动安装 CUDA Toolkit/cuDNN 并尝试兼容——因为 PyTorch 的 torch wheel 已静态链接(或捆绑)特定版本的 CUDA 和 cuDNN 运行时库(如 libcudnn.so, libcudart.so),其版本由 PyTorch 构建时锁定。

✅ 正确做法(推荐):
直接使用 PyTorch 官网提供的预编译 wheel(pip install torch),并选择与你的 NVIDIA 驱动兼容的 CUDA 版本。


🔑 关键原则(2024年最新实践)

组件 说明
NVIDIA 驱动(Driver) ✅ 是底层基础,必须 ≥ PyTorch 所需 CUDA 版本的最低驱动要求(见官方表格)。Ubuntu 24.04 默认搭载较新内核(6.8+)和 nvidia-driver-535545(取决于安装方式),通常完全支持 CUDA 12.x。
CUDA Toolkit(系统级) 无需手动安装(除非你开发 CUDA C++ 扩展)。PyTorch wheel 自带精简版 CUDA 运行时(cudatoolkit),已满足 torch 运行需求。conda install pytorch 会自动装 cudatoolkitpip install 则完全不依赖系统 CUDA。
cuDNN 无需单独安装。PyTorch 二进制包已内置兼容的 cuDNN(例如 libtorch_cuda.so 内部集成 cuDNN)。手动安装系统 cuDNN 可能引发冲突。

⚠️ 注意:PyTorch 不使用系统 /usr/local/cuda/ 下的 CUDA/cuDNN,而是通过 torch._C 加载其自带的运行时库(路径类似 site-packages/torch/lib/)。


✅ Ubuntu 24.04 推荐安装步骤(GPU 支持)

1️⃣ 确认 NVIDIA 驱动已正确安装

nvidia-smi
# 输出应显示驱动版本(如 535.129.03, 545.23.08 等)和 GPU 状态
# ✅ 驱动 ≥ CUDA 12.1 要求 → 至少 530(实际 Ubuntu 24.04 默认驱动 ≥535,安全)

2️⃣ 安装 PyTorch(官方推荐命令,自动匹配)

访问 https://pytorch.org/get-started/locally/
截至 2024年6月,主流稳定版本为:

PyTorch 版本 CUDA 支持 pip 命令(Ubuntu 24.04 + NVIDIA GPU)
2.3.1(最新稳定) CUDA 12.1 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
2.4.0(预发布/nightly) CUDA 12.4 pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124

推荐命令(稳定可靠):

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

cu121 表示该 wheel 编译时使用 CUDA 12.1 工具链,并内置兼容的 cuDNN(v8.9.2+ for CUDA 12.1)。

3️⃣ 验证安装

import torch
print(torch.__version__)           # e.g., 2.3.1+cu121
print(torch.cuda.is_available())   # True
print(torch.cuda.device_count())   # > 0
print(torch.cuda.get_device_name(0))  # GPU name

📌 常见问题解答(FAQ)

问题 解答
Q:我系统装了 CUDA 12.4,但 PyTorch 用 cu121,会冲突吗? ❌ 不会。PyTorch 完全不依赖 /usr/local/cuda。系统 CUDA 仅影响你自己的 .cu 编译,对 torch 无影响。
Q:需要装 nvidia-cuda-toolkit(Ubuntu 包)吗? ❌ 不需要。该包是旧版、过时的(仅含 nvcc 低版本),且与 PyTorch 无关。如需 nvcc,请从 NVIDIA 官网下载 CUDA Toolkit。
Q:能否用 conda 安装? ✅ 可以,但注意 conda 通道(pytorch)也提供 cudatoolkit=12.1 环境包:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
Q:如何升级驱动? sudo apt update && sudo apt install nvidia-driver-535(或 545,查看 ubuntu-drivers devices 推荐)

📚 官方参考链接

  • PyTorch CUDA 兼容性矩阵:https://docs.pytorch.org/stable/notes/cuda.html
  • NVIDIA 驱动与 CUDA 版本对应表:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
  • Ubuntu 24.04 NVIDIA 驱动指南:https://help.ubuntu.com/community/NvidiaDriversInstallation

✅ 总结一句话:

在 Ubuntu 24.04 上,只需确保 nvidia-smi 正常工作(驱动 ≥530),然后用 pip install torch --index-url https://download.pytorch.org/whl/cu121 安装即可 —— CUDA 和 cuDNN 版本由 PyTorch 官方 wheel 自动保证兼容,无需手动干预。

如需进一步帮助(如多卡配置、Docker 镜像、或编译自定义扩展),欢迎继续提问! 🚀