Ubuntu上PyTorch与CUDA兼容性指南
在Ubuntu系统上配置PyTorch与CUDA的兼容环境,需重点关注Ubuntu版本选择、CUDA与PyTorch版本匹配、驱动安装及环境验证四大环节,以下是具体说明:
Ubuntu的LTS(长期支持)版本对PyTorch及CUDA的支持更稳定,推荐优先选择:
PyTorch版本需与已安装的CUDA Toolkit版本严格匹配,以下是常见组合(来源:PyTorch官方文档及社区实践):
| PyTorch版本 | 兼容CUDA版本 | 推荐cuDNN版本 | 适用场景 |
|---|---|---|---|
| 2.1.0+ | 11.8 | 8.6 | 最新功能、RTX 40系列 |
| 2.0.1+ | 11.7 | 8.5 | 新项目、高性能计算 |
| 1.13.1+ | 11.6 | 8.3.2 | 视频生成、扩散模型 |
| 1.11.0+ | 11.3 | 8.3 | 传统项目、工业部署 |
| 1.10.0+ | 11.3/10.2 | 8.2 | 旧硬件、兼容性需求高 |
注:若使用PyTorch 1.10及以下版本,可选择CUDA 11.3或10.2;若使用PyTorch 2.0及以上版本,建议选择CUDA 11.7及以上。
驱动是CUDA运行的基础,需确保驱动版本与CUDA Toolkit兼容(可通过nvidia-smi查看当前驱动版本)。推荐通过以下命令安装:
# 添加官方驱动PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
# 安装推荐驱动(如555,需根据显卡型号调整)
sudo apt install nvidia-driver-555
# 重启系统使驱动生效
sudo reboot
验证驱动:nvidia-smi(显示GPU信息及驱动版本即为成功)。
推荐方式(通过apt安装):
以CUDA 11.3为例,执行以下命令:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt update
sudo apt install -y cuda-11-3
安装完成后,通过nvcc --version验证CUDA版本。
手动安装(下载.run文件):
从NVIDIA官网下载对应版本的CUDA Toolkit(如CUDA 11.7),运行安装脚本并遵循提示完成安装。
conda create -n pytorch_env python=3.8
conda activate pytorch_env
conda install pytorch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 cudatoolkit=11.3 -c pytorch
pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu113
若安装CUDA Toolkit时未自动配置,需手动添加以下环境变量至~/.bashrc:
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH
执行source ~/.bashrc使更改生效。
安装完成后,通过以下Python代码验证PyTorch是否能识别CUDA:
import torch
print("PyTorch版本:", torch.__version__)
print("CUDA可用性:", torch.cuda.is_available()) # 应返回True
print("CUDA版本:", torch.version.cuda) # 应与安装的CUDA版本一致
print("GPU数量:", torch.cuda.device_count()) # 显示GPU数量
print("GPU名称:", torch.cuda.get_device_name(0)) # 显示首个GPU名称
若torch.cuda.is_available()返回True,则表示环境配置成功。
torch.cuda.is_available()返回False:
nvidia-smi是否有输出);PATH、LD_LIBRARY_PATH)配置正确。TORCH_CUDA_ARCH_LIST=8.6),或升级PyTorch至最新版本。