【CUDA GPU 支持安装全攻略】PyTorch 深度学习开发者指南
PyTorch 的 CUDA GPU 支持 · 安装五条铁律(最新版 2025 修订)(适用于所有用户)-CSDN博客
是否需要预先安装 CUDA Toolkit?——按使用场景分级推荐及进阶说明-CSDN博客
“100% 成功的 PyTorch CUDA GPU 支持” 安装攻略_torch cuda 安装-CSDN博客
🚀【CUDA GPU 支持安装全攻略】PyTorch 深度学习开发者指南
面向对象:初学者、研究人员、生产部署人员
适用平台:Windows / Linux / WSL / 容器环境等全平台支持
📌 一、环境准备与平台说明
无论你使用的是 Windows、Linux 还是 WSL,使用 PyTorch 支持 GPU 的前提都是:
-
安装并正确配置 NVIDIA 显卡驱动
-
系统支持 CUDA GPU
-
PyTorch 安装包使用了合适的 CUDA 后端版本
平台 | GPU 驱动安装方式 | 推荐系统 |
---|---|---|
Windows | 安装 NVIDIA 官方驱动 .exe | Windows 10/11 x64 |
Linux | 使用包管理器(如 apt/dnf)或 .run 安装包 | Ubuntu / Fedora / RHEL |
WSL2 | Windows 端驱动统一控制 GPU,WSL 子系统只需更新内核支持 | Ubuntu on WSL2 |
我们推荐使用 WSL2 + Ubuntu 22.04 的组合,在 Windows 上也能获得 Linux 级别的性能和兼容性。
📌 二、NVIDIA 驱动安装与 GPU 验证
驱动是 CUDA 的基础,必须先装好!
✅ 驱动安装完毕后,请执行:
nvidia-smi
确认输出类似以下内容:
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 576.02 Driver Version: 576.02 CUDA Version: 12.9 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3090 WDDM | 00000000:01:00.0 Off | N/A |
| 0% 46C P8 21W / 350W | 10246MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
📌 三、CUDA 与 cuDNN 版本对应关系
支持矩阵 — NVIDIA cuDNN 后端
一般情况下无需手动安装 CUDA Toolkit 或 cuDNN(除非你要编译源码或开发底层 CUDA 程序)。但理解版本兼容很重要。
CUDA 版本 | 支持的 cuDNN 版本 | PyTorch 支持状态 |
---|---|---|
12.1 | cuDNN 9.x | ✅ 支持 |
11.8 | cuDNN 8.6.x | ✅ 支持 |
11.7 | cuDNN 8.5.x | ✅ 支持 |
11.6 | cuDNN 8.4.x | ✅ 支持 |
≤11.3 | 已过时 | ❌ 不建议使用 |
📎 PyTorch 的安装包已经包含了 runtime 所需的 cudart + cuDNN 动态库,无需重复安装!
📌 四、PyTorch 与 CUDA 的兼容性(选版本必看)
请始终通过 PyTorch 官网获取与当前驱动兼容的 PyTorch + CUDA 对组合版本。
🎯 举例:常用组合参考
PyTorch 版本 | CUDA 后端 | pip 安装命令 |
---|---|---|
2.2.x | cu121 | pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 |
2.1.x | cu118 | --index-url https://download.pytorch.org/whl/cu118 |
1.13.x | cu117 | --index-url https://download.pytorch.org/whl/cu117 |
如需安装 CPU 版本,可直接:
pip install torch torchvision torchaudio
📌 五、PyTorch 安装方式详解
✅ 推荐方式一:pip 安装(适用所有平台)
# 安装 CUDA 12.1 后端版本
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
✅ 推荐方式二:conda 安装(适用 Anaconda 环境)
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
⚠️ 源码编译(进阶用户专用)
用于自定义构建 PyTorch 或开发自定义 CUDA 内核的情况,需要:
CUDA 工具包 12.9 Update 1 下载 |NVIDIA 开发人员
cuDNN 9.10.2 下载 |NVIDIA 开发人员
-
安装 CUDA Toolkit 与 cuDNN
-
设置环境变量
CUDA_HOME ( CUDA12.6+ 之后会自动处理环境变量的设置)
-
使用
python setup.py install
编译
📌 六、GPU 环境验证步骤(安装完成后必须执行)
import torch # 导入 PyTorch 库print("PyTorch 版本:", torch.__version__) # 打印 PyTorch 的版本号# 检查 CUDA 是否可用,并设置设备("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("设备:", device) # 打印当前使用的设备
print("CUDA 可用:", torch.cuda.is_available()) # 打印 CUDA 是否可用
print("cuDNN 已启用:", torch.backends.cudnn.enabled) # 打印 cuDNN 是否已启用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())# 创建两个随机张量(默认在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)# 将张量移动到指定设备(CPU 或 GPU)
x = x.to(device)
y = y.to(device)# 对张量进行逐元素相加
z = x + y# 打印结果
print("张量 z 的值:")
print(z) # 输出张量 z 的内容
终端验证(用于确认驱动状态):
nvidia-smi
📌 七、多 GPU 或指定 GPU 的使用方式
PyTorch 支持多 GPU,只需通过索引编号设置:
device = torch.device("cuda:0") # 使用第一张 GPU
model.to(device)
遍历所有 GPU 名称:
for i in range(torch.cuda.device_count()):print(f"GPU {i}: {torch.cuda.get_device_name(i)}")
推荐使用 torch.nn.DataParallel
或 torch.distributed
进行多卡训练。
📌 八、性能测试与环境诊断(可选)
运行以下脚本测试矩阵乘法性能(浮点运算):
import torch
import timex = torch.rand(5000, 5000, device='cuda')
y = torch.rand(5000, 5000, device='cuda')torch.cuda.synchronize()
start = time.time()for _ in range(10):z = x @ ytorch.cuda.synchronize()
print("10 次 matmul 用时:", time.time() - start, "秒")
✅ 总结回顾
我们建议按以下顺序执行:
-
安装 GPU 驱动,确认
nvidia-smi
正常 -
安装 PyTorch 对应 CUDA 后端版本(官网推荐为准)
-
验证 GPU 是否可用(
torch.cuda.is_available()
) -
如果需要,自定义 GPU 编号、管理多 GPU 环境
-
可选进行性能基准测试或深度模型推理测试