在安装pytorch时会显示的或者默认的安装pytorch-cuda,它是PyTorch 的运行时 CUDA 后端,仅包含运行所需的 CUDA 动态库。❌ 并不包含 nvcc
、cuda.h
等用于编译 CUDA 扩展的开发工具链。
项目 | 是否包含 | 作用说明 |
---|---|---|
pytorch-cuda | ✅ CUDA 动态库(.so )❌ 不含 nvcc | 只用于运行 PyTorch GPU 模型 |
CUDA Toolkit | ✅ nvcc + include + lib | 提供编译 .cu 扩展模块所需的完整工具链 |
因此,你想运行调试pytorch代码,安装的pytorch-cuda只需要小于等于系统cuda驱动版本即可,而不需要系统上安装完全相同版本的 CUDA Toolkit,即可利用到GPU。
但是当你使用编译带有 CUDA 扩展的 PyTorch 第三方库,比如:
-
torch_scatter
、torch_sparse
、torch_cluster
、torch_spline_conv
等 PyG 扩展 -
自定义写的 CUDA 算子(
setup.py
里用CUDAExtension
)
就需要安装对应PyTorch CUDA 版本的 CUDA Toolkit(含编译器、头文件等),否则会出现版本不匹配或者编译失败。
安装CUDA Toolkit的常规步骤(以Ubuntu为例)
去NVIDIA官网:CUDA Toolkit Archive
选择合适版本(例如CUDA 10.2、11.3等),下载对应系统的 .run
或 .deb
安装包。
安装CUDA Toolkit(以 .run
包为例)
# 给安装文件可执行权限
chmod +x cuda_10.2.89_440.33.01_linux.run
# 运行安装程序
sudo ./cuda_10.2.89_440.33.01_linux.run
安装过程中注意:
-
可以选择不安装驱动(一般选择不)。
-
只安装Toolkit和Samples即可。
-
配置环境变量,示例如下。
配置环境变量
在 ~/.bashrc
或 ~/.zshrc
中添加:
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
然后执行:
source ~/.bashrc
验证安装
nvcc --version
看到版本信息即安装成功。
总结
关键点 | 说明 |
---|---|
系统驱动(NVIDIA Driver) | 需兼容你安装的CUDA Toolkit版本,驱动必须新于或等于Toolkit最低要求 |
CUDA Toolkit版本 | 可以和驱动不完全一致,但需兼容,通常驱动版本更高没问题 |
安装建议 | 安装CUDA Toolkit时建议不覆盖系统驱动(避免冲突) |
两篇写的比较好的文章