关键在于CUDA版本链严格对齐:nvidia-smi显示的CUDA Version是驱动支持上限,PyTorch指定的cu118/cu121是下限,中间必须一致,否则torch.cuda.is_available()返回False。

能跑 GPU 加速的 PyTorch,关键不是装得全,而是版本链对得准——nvidia-smi 显示的 CUDA Version 是上限,PyTorch 官方文档指定的 cu118 或 cu121 是下限,中间必须严格对齐,错一个就 torch.cuda.is_available() 返回 False。
先看 nvidia-smi 输出的 CUDA Version 能支持什么
这是整个链条的起点,也是最容易被跳过的判断依据。运行:
nvidia-smi
输出右上角那行 CUDA Version: 12.4(举例)不是你已装的 CUDA 版本,而是当前驱动**最高支持的 CUDA 运行时版本**。这意味着你最多只能装 CUDA Toolkit 12.4 及以下版本。
- 如果显示
CUDA Version: 11.8,你就不能装CUDA 12.x,否则nvcc -V可能成功,但PyTorch会静默 fallback 到 CPU - 笔记本双显卡用户务必在设备管理器里禁用 Intel 集显再运行
nvidia-smi,否则可能读不到独显信息 - 驱动太旧(比如
Driver Version 470.xx)会导致CUDA Version卡在 11.4,此时必须用DDU彻底卸载后重装 Studio 驱动
CUDA Toolkit 安装时必须关掉 Visual Studio Integration
除非你真要写 .cu 文件并用 VS 编译,否则勾选它只会拖慢安装、污染 VS 环境、甚至导致后续 pip install 报 LNK1181 错误。官网下载页选 “Windows x86_64” + “exe (local)” 安装包更稳。
通过 NVIDIA NIM API 调用 Kimi K2.5 视觉模型分析图像,非常适合为 MiniMax M2.5、GLM-5 等非视觉模型赋予视觉能力。
立即学习“Python免费学习笔记(深入)”;
- 安装路径保持默认:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8(路径含空格和括号,别手改) - “Add CUDA to PATH” 必须勾选,否则
nvcc -V会提示命令未找到 - 装完立刻验证:
nvcc -V输出版本号,且与nvidia-smi的上限一致或更低
cuDNN 不是安装,是“复制粘贴+环境变量”
cuDNN 没有安装程序,只有压缩包。它必须和 CUDA Toolkit 版本号完全一致(例如 CUDA v11.8 → 必须用 cuDNN 8.6.0 for CUDA 11.8),小版本号不匹配(如 8.6.0 vs 8.6.1)也可能导致 torch 初始化失败。
- 解压后,把
cudnn-windows-x86_64-8.6.0.163_cuda11.x-archive\bin\cudnn64_8.dll复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin - 把
include\cudnn.h复制到...\v11.8\include,把lib\x64\cudnn.lib复制到...\v11.8\lib\x64 - PATH 中只加
...\v11.8\bin和...\v11.8\libnvvp,别加include或lib\x64
最后用 pip install torch 命令锁死 CUDA 版本
别用 conda install pytorch 自动选版本——conda 有时会绕过你本地装的 CUDA,拉一个自带 runtime 的包,结果 torch.version.cuda 显示 11.8,但实际调用的是包内私有 runtime,和系统 cuDNN 不兼容。
- 去 https://www.php.cn/link/005878dd6461d0dba66e6d56257ce1d5 找对应链接(把
cu118换成你的版本) - 执行类似命令:
pip install torch==2.3.1+cu118 torchvision==0.18.1+cu118 --index-url https://www.php.cn/link/005878dd6461d0dba66e6d56257ce1d5 - 验证:
python -c "import torch; print(torch.cuda.is_available(), torch.version.cuda)"——两个都必须为True和具体数字
真正容易被忽略的点:cuDNN 的 cudnn64_8.dll 文件名里的数字(8)必须和 PyTorch 编译时链接的版本一致;Windows 下若存在多个 CUDA 版本,PATH 中路径顺序决定优先级,v11.8 必须排在 v12.1 前面,否则 torch 会加载错的 DLL。

















