Ubuntu下PyTorch与CUDA的兼容性说明
Ubuntu系统下,PyTorch与CUDA的兼容性需满足版本匹配要求:不同PyTorch版本仅支持特定范围的CUDA版本,且需配合对应的cuDNN库(用于优化深度学习性能)。例如:
为确保稳定性和性能,建议选择以下主流组合:
nvidia-smi命令检查GPU型号,确认驱动版本是否符合CUDA要求(如CUDA 11.8需驱动≥520);sudo ubuntu-drivers autoinstall自动安装适配驱动,或手动指定版本(如sudo apt install nvidia-driver-555)。.deb包安装:sudo dpkg -i cuda-repo-ubuntu2004-11-8-local_11.8.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu2004-11-8-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
~/.bashrc):export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source ~/.bashrc
conda create -n pytorch_env python=3.8
conda activate pytorch_env
conda install pytorch torchvision torchaudio cudatoolkit=11.8 -c pytorch -c nvidia
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
运行以下Python代码,检查CUDA是否可用:
import torch
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA版本: {torch.version.cuda}")
print(f"CUDA是否可用: {torch.cuda.is_available()}") # 需返回True
若torch.cuda.is_available()返回True,则表示安装成功。
问题1:torch.cuda.is_available()返回False
可能原因:驱动未正确安装、CUDA版本不匹配、环境变量未配置。
解决方法:重新安装驱动(sudo ubuntu-drivers autoinstall)、确认PyTorch与CUDA版本匹配、检查PATH和LD_LIBRARY_PATH是否包含CUDA路径。
问题2:gcc版本不匹配
Ubuntu默认gcc版本可能过旧,需升级至CUDA要求的版本(如CUDA 11.8需gcc≥10):
sudo apt install gcc-10 g++-10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
问题3:安全启动阻止驱动安装
若使用双系统,需进入BIOS关闭安全启动(Secure Boot),否则无法加载NVIDIA驱动。