Ubuntu18.04下CUDA与cuDNN的安装与配置指南

张开发
2026/4/22 23:29:32 15 分钟阅读

分享文章

Ubuntu18.04下CUDA与cuDNN的安装与配置指南
1. 环境准备检查硬件与系统兼容性在开始安装CUDA和cuDNN之前我们需要先确认几个关键事项。就像装修房子前要检查地基一样这一步决定了后续所有工作能否顺利进行。首先打开终端CtrlAltT输入以下命令查看显卡信息lspci | grep -i nvidia如果能看到类似NVIDIA Corporation的输出说明你的显卡已经被系统识别。我遇到过不少朋友在这一步就卡住因为有些笔记本默认使用核显需要在BIOS里切换成独显模式。接下来检查显卡驱动是否安装nvidia-smi这个命令会显示显卡型号和最高支持的CUDA版本。比如我的RTX 2080 Ti显示CUDA Version: 11.4意味着我可以安装11.4及以下版本的CUDA。这里有个常见误区很多人以为这里显示的CUDA版本是当前安装的版本其实是显卡驱动支持的最高版本。系统环境检查也很重要uname -m cat /etc/*release确保系统是64位的Ubuntu 18.04。我有次帮学弟排查问题发现他误装了32位系统结果所有安装都失败了。另外建议系统更新到最新sudo apt update sudo apt upgrade -y2. 安装NVIDIA显卡驱动虽然CUDA安装包自带驱动但我强烈建议先单独安装官方驱动。就像先打好地基再盖房子这样能避免很多兼容性问题。先添加官方PPA源sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update查看推荐驱动版本ubuntu-drivers devices你会看到类似recommended的标记。我一般选择带recommended的最新版比如nvidia-driver-470。安装驱动sudo apt install nvidia-driver-470安装完成后重启电脑再次运行nvidia-smi应该能看到驱动信息。如果遇到黑屏问题可能是Secure Boot导致的需要在BIOS中禁用它。验证驱动是否正常工作glxinfo | grep OpenGL renderer应该能看到你的NVIDIA显卡型号。我遇到过驱动安装成功但实际没生效的情况这个命令能帮你确认。3. 安装CUDA工具包现在来到重头戏。CUDA版本选择很关键就像选装修材料要考虑兼容性。根据nvidia-smi显示的最高支持版本我推荐选择低1-2个版本的CUDA这样稳定性更好。以CUDA 11.0为例访问NVIDIA官网下载页面选择Operating System: LinuxArchitecture: x86_64Distribution: UbuntuVersion: 18.04Installer Type: runfile (local)复制页面给出的安装命令wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run sudo sh cuda_11.0.3_450.51.06_linux.run安装时要注意按空格取消勾选Driver因为我们已经单独安装了其他选项保持默认安装完成后会提示添加环境变量编辑~/.bashrc文件gedit ~/.bashrc在末尾添加export PATH/usr/local/cuda-11.0/bin${PATH::${PATH}} export LD_LIBRARY_PATH/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH::${LD_LIBRARY_PATH}}保存后执行source ~/.bashrc验证安装nvcc -V应该能看到CUDA版本信息。如果提示命令未找到可能是环境变量没设置正确。我遇到过PATH写错的情况仔细检查路径中的cuda-11.0是否与你安装的版本一致。4. 安装cuDNN加速库cuDNN是深度学习的加速器就像给装修好的房子装上智能家居系统。首先需要注册NVIDIA开发者账号然后下载对应版本的cuDNN。以cuDNN 8.0.4 for CUDA 11.0为例下载三个文件Runtime LibraryDeveloper LibraryCode Samples安装步骤tar -xzvf cudnn-11.0-linux-x64-v8.0.4.30.tgz sudo cp cuda/include/cudnn*.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod ar /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*验证安装cp -r /usr/src/cudnn_samples_v8/ ~ cd ~/cudnn_samples_v8/mnistCUDNN make clean make ./mnistCUDNN看到Test passed!说明安装成功。我第一次测试时遇到编译错误发现是gcc版本太高降级到gcc-7就解决了。5. 常见问题排查安装过程中难免会遇到问题这里分享几个我踩过的坑问题1nvidia-smi显示驱动正常但nvcc -V报错解决方法sudo apt install nvidia-cuda-toolkit然后重新设置环境变量问题2运行深度学习框架时报cudnn错误可能是版本不匹配建议sudo rm /usr/local/cuda # 移除旧链接 sudo ln -s /usr/local/cuda-11.0 /usr/local/cuda # 创建新链接问题3系统更新后驱动失效这是Ubuntu的老毛病了建议sudo apt purge nvidia* sudo ubuntu-drivers autoinstall问题4多CUDA版本切换可以通过修改.bashrc中的环境变量来切换export PATH/usr/local/cuda-11.0/bin:$PATH export LD_LIBRARY_PATH/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH6. 性能优化建议安装完成后还可以做些优化提升性能启用持久化模式sudo nvidia-smi -pm 1设置GPU性能模式sudo nvidia-smi -ac 4004,1590安装NCCL库加速多GPU通信sudo apt install libnccl2 libnccl-dev监控GPU使用情况watch -n 1 nvidia-smi使用CUDA-Z工具检查带宽和计算性能sudo apt install cuda-z7. 验证深度学习环境最后我们来验证整套环境是否正常工作。以PyTorch为例安装PyTorchpip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113测试脚本import torch print(torch.cuda.is_available()) # 应该返回True print(torch.backends.cudnn.version()) # 应该显示你的cuDNN版本运行一个简单的矩阵运算测试device torch.device(cuda if torch.cuda.is_available() else cpu) x torch.randn(10000, 10000).to(device) y torch.randn(10000, 10000).to(device) z x y print(z.mean()) # 应该能快速计算出结果如果一切正常恭喜你已经成功搭建好深度学习开发环境记得定期更新驱动和CUDA版本保持系统稳定性和安全性。

更多文章