当前位置: 首页 > news >正文

【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 官方驱动 .exeWindows 10/11 x64
Linux使用包管理器(如 apt/dnf)或 .run 安装包Ubuntu / Fedora / RHEL
WSL2Windows 端驱动统一控制 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.1cuDNN 9.x✅ 支持
11.8cuDNN 8.6.x✅ 支持
11.7cuDNN 8.5.x✅ 支持
11.6cuDNN 8.4.x✅ 支持
≤11.3已过时❌ 不建议使用

📎 PyTorch 的安装包已经包含了 runtime 所需的 cudart + cuDNN 动态库,无需重复安装!


📌 四、PyTorch 与 CUDA 的兼容性(选版本必看)

请始终通过 PyTorch 官网获取与当前驱动兼容的 PyTorch + CUDA 对组合版本。

🎯 举例:常用组合参考

PyTorch 版本CUDA 后端pip 安装命令
2.2.xcu121pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
2.1.xcu118--index-url https://download.pytorch.org/whl/cu118
1.13.xcu117--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.DataParalleltorch.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, "秒")

✅ 总结回顾

我们建议按以下顺序执行:

  1. 安装 GPU 驱动,确认 nvidia-smi 正常

  2. 安装 PyTorch 对应 CUDA 后端版本(官网推荐为准)

  3. 验证 GPU 是否可用(torch.cuda.is_available()

  4. 如果需要,自定义 GPU 编号、管理多 GPU 环境

  5. 可选进行性能基准测试或深度模型推理测试


http://www.xdnf.cn/news/1050355.html

相关文章:

  • AI 社交和AI情绪价值的思考 -延申思考2 -全局记忆
  • MobaXterm首次连接Ubuntu失败
  • Rust语言典型并发模式小结
  • 【Dv3Admin】系统信号机制配置文件解析
  • Photoshop图层蒙版全介绍
  • Go实战项目OneX介绍(2/12):项目功能列表介绍
  • 【编程语言】从C++到Java到Golang,语法特性对比与开发实践指南(基础语法,类型系统,运行机制)
  • 多模态大语言模型arxiv论文略读(123)
  • Go语言--语法基础5--基本数据类型--输入输出(2)
  • GRPO训练布局感知的强化学习多模态文档解析框架-Infinity-Parser
  • HarmonyOSNext性能核弹:用Node-API引爆ArkTS/C++跨语言
  • 贝塞尔曲线的公式推导贝塞尔曲线的公式推导,和 SVG 中 Path 的贝塞尔曲线指令的理解记忆
  • 电感篇---常见作用
  • 2.SQL语句分类
  • css属性:图片使用filter属性使得position: fixed失效的情况
  • C语言状态机:从入门到精通
  • C++ lambda函数
  • 大数据实时风控引擎:Spark Streaming、Kafka、Flink与Doris的融合实践
  • pythonA股实时数据分析(进阶版)
  • 区间交集:区间选点
  • redis序列化
  • 以笔为剑,破茧成蝶
  • 华为云Flexus+DeepSeek征文 | 基于华为云ModelArts Studio平台与Cherry Studio搭建知识库问答助手
  • 手机SIM卡通话中随时插入录音语音片段(Android方案)
  • C++20 核心特性详解:现代C++的进化里程碑
  • PyTorch 实现 MNIST 手写数字识别
  • Python训练营---DAY54
  • 子集筛选(Select by Data Index)组件研究
  • 2025年ASOC SCI2区TOP,多策略组合鲸鱼优化算法SCWOA+梯级水库调度,深度解析+性能实测
  • 线上GC count突增问题排查及修复记录