1. 引言

在 Ubuntu 系统上搭建深度学习环境需要正确安装 NVIDIA 显卡驱动、CUDA Toolkit 和 CuDNN 库。本文将详细介绍在 Ubuntu 24.04 LTS 系统上安装这些组件的完整流程,包括硬件兼容性检查、安装方法选择、配置验证以及常见问题解决。无论是搭建个人工作站还是企业级服务器,本文提供的步骤都能帮助您构建稳定高效的深度学习环境。

2. 环境准备与兼容性检查

2.1 系统要求

安装前请确保您的系统满足以下要求:

  • Ubuntu 22.04 LTS 或 24.04LTS 系统
  • 至少 10GB 空闲磁盘空间
  • 支持 CUDA 的 NVIDIA 显卡(Kepler 架构或更新)
  • 已安装 gcc、make 等编译工具

2.2 检查硬件信息

bash

# 查看显卡型号
lspci | grep -i nvidia

# 查看系统信息
uname -r
lsb_release -a

# 检查已安装的NVIDIA组件
dpkg -l | grep nvidia
dpkg -l | grep cuda

2.3 版本兼容性确认

不同版本的 CUDA 需要特定版本的 NVIDIA 驱动支持:

CUDA 版本 最低驱动版本 推荐驱动版本
CUDA 12.7 535.86.10 550.54.15+
CUDA 12.6 535.86.10 545.23.06+
CUDA 12.5 525.85.12 535.104.05+

访问NVIDIA 官方兼容性矩阵获取最新信息。

3. NVIDIA 显卡驱动安装

3.1 方法一:使用 Ubuntu 官方仓库

bash

# 更新系统
sudo apt update && sudo apt upgrade -y

# 安装显卡检测工具
sudo apt install -y ubuntu-drivers-common

# 检测推荐驱动
ubuntu-drivers devices

# 自动安装推荐驱动
sudo ubuntu-drivers autoinstall

3.2 方法二:使用 NVIDIA 官方 PPA

bash

# 添加NVIDIA PPA
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

# 查看可用驱动版本
apt search nvidia-driver-*

# 安装指定版本驱动(例如550系列)
sudo apt install -y nvidia-driver-550

3.3 方法三:手动安装.run 文件

  1. NVIDIA 驱动下载页面下载对应驱动

  2. 禁用 nouveau 驱动:

bash

sudo tee /etc/modprobe.d/blacklist-nouveau.conf <<EOF
blacklist nouveau
options nouveau modeset=0
EOF

sudo update-initramfs -u

  1. 重启进入文本模式(Ctrl+Alt+F3)并安装:

bash

chmod +x NVIDIA-Linux-x86_64-550.54.15.run
sudo ./NVIDIA-Linux-x86_64-550.54.15.run --no-x-check --no-nouveau-check

3.4 处理 Secure Boot

如果系统启用了 Secure Boot,安装驱动时需要:

  1. 选择 "Enroll MOK"
  2. 设置密码
  3. 重启后在 MOK 管理界面选择 "Enroll MOK" 并输入密码

3.5 验证驱动安装

bash

# 查看驱动版本和显卡信息
nvidia-smi

# 检查驱动加载情况
lsmod | grep nvidia

4. CUDA Toolkit 安装

4.1 安装前准备

bash

# 移除旧版本CUDA(如果存在)
sudo apt purge -y cuda* nvidia-cuda*
sudo apt autoremove -y

4.2 使用官方仓库安装 CUDA 12.7

bash

# 添加CUDA仓库
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb

# 更新仓库并安装CUDA 12.7
sudo apt update
sudo apt install -y cuda-toolkit-12-7

4.3 配置环境变量

bash

# 为当前用户配置
echo 'export PATH=/usr/local/cuda-12.7/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.7/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

# 为所有用户配置(系统级)
sudo tee /etc/profile.d/cuda.sh <<EOF
export PATH=/usr/local/cuda-12.7/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.7/lib64:\$LD_LIBRARY_PATH
EOF

4.4 多版本 CUDA 管理

bash

# 安装多个CUDA版本
sudo apt install -y cuda-toolkit-12-6 cuda-toolkit-12-7

# 使用update-alternatives管理版本
sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-12.6 100
sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-12.7 200

# 切换CUDA版本
sudo update-alternatives --config cuda

4.5 验证 CUDA 安装

bash

# 查看CUDA版本
nvcc --version

# 编译并运行示例程序
cd /usr/local/cuda-12.7/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

# 检查CUDA带宽
cd ../bandwidthTest
sudo make
./bandwidthTest

5. CuDNN 安装

5.1 下载 CuDNN

  1. 访问NVIDIA 开发者网站下载对应 CUDA 12.x 的 CuDNN 9.x 版本
  2. 需要注册 NVIDIA 开发者账号并同意许可协议
  3. 下载 Ubuntu 24.04 对应的 deb 安装包

5.2 安装 CuDNN

bash

# 安装CuDNN运行时库
sudo dpkg -i libcudnn9_9.1.0.70-1+cuda12.2_amd64.deb

# 安装CuDNN开发库
sudo dpkg -i libcudnn9-dev_9.1.0.70-1+cuda12.2_amd64.deb

# 安装CuDNN代码示例和文档
sudo dpkg -i libcudnn9-samples_9.1.0.70-1+cuda12.2_amd64.deb

5.3 验证 CuDNN 安装

bash

# 编译并运行CuDNN示例
cp -r /usr/src/cudnn_samples_v9/ ~/
cd ~/cudnn_samples_v9/mnistCUDNN
make clean && make
./mnistCUDNN

如果一切正常,将输出 "Test passed!" 信息。

6. 性能优化与系统配置

6.1 配置 GPU 模式

bash

# 查看当前持久模式状态
nvidia-smi -q | grep -i persistent

# 启用持久模式(提高性能)
sudo nvidia-smi -pm 1

# 设置GPU功率限制(根据需求调整)
sudo nvidia-smi -pl 250

6.2 配置 Xorg 以避免 GPU 资源占用

对于服务器环境,可以配置 Xorg 使用最小资源:

bash

# 创建Xorg配置文件
sudo nvidia-xconfig -a --allow-empty-initial-configuration --use-display-device=None

6.3 安装 NVIDIA System Management Interface

bash

# 安装nvidia-smi的扩展工具
sudo apt install -y nvidia-utils-550

7. 常见问题与解决方案

7.1 驱动安装后无法启动 X 服务器

bash

# 进入恢复模式后卸载驱动
sudo apt purge -y nvidia-*
sudo apt autoremove -y

# 重新安装驱动
sudo ubuntu-drivers autoinstall

7.2 CUDA 版本不匹配问题

bash

# 检查已安装的CUDA和驱动版本
nvidia-smi
nvcc --version

# 如果版本不匹配,安装兼容的驱动版本
sudo apt install -y nvidia-driver-550

7.3 CuDNN 示例编译错误

bash

# 安装缺失的依赖
sudo apt install -y libfreeimage3 libfreeimage-dev

# 重新编译示例
cd ~/cudnn_samples_v9/mnistCUDNN
make clean && make

7.4 多 GPU 系统配置问题

bash

# 查看所有GPU
nvidia-smi -L

# 设置CUDA_VISIBLE_DEVICES环境变量
export CUDA_VISIBLE_DEVICES=0,1  # 使用第1和第2块GPU

8. 深度学习框架验证

8.1 安装 TensorFlow

bash

pip install tensorflow==2.16.1
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

8.2 安装 PyTorch

bash

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
python -c "import torch; print(torch.cuda.is_available())"

9. 系统维护与更新

9.1 驱动更新

bash

# 使用apt更新驱动
sudo apt update
sudo apt upgrade -y nvidia-driver-550

# 或使用.run文件更新
sudo ./NVIDIA-Linux-x86_64-550.54.15.run --no-x-check

9.2 CUDA 更新

bash

# 更新到最新补丁版本
sudo apt update
sudo apt upgrade -y cuda-toolkit-12-7

9.3 完全卸载

bash

# 卸载驱动
sudo apt purge -y nvidia-*

# 卸载CUDA
sudo apt purge -y cuda*
sudo rm -rf /usr/local/cuda*

# 卸载CuDNN
sudo apt purge -y libcudnn*

10. 总结

本文详细介绍了在 Ubuntu 24.04 LTS 系统上安装 NVIDIA 驱动、CUDA 12.7 和 CuDNN 9.x 的完整流程。从兼容性检查到环境配置,再到性能优化和问题解决,每个步骤都提供了详细的命令和说明。通过正确配置这些组件,您的系统将能够高效运行各种深度学习框架和应用。

随着 NVIDIA 技术的不断发展,建议定期查看官方文档以获取最新的安装指南和兼容性信息。一个正确配置的深度学习环境不仅能提高模型训练效率,还能避免各种兼容性问题,为您的 AI 研究和开发工作提供可靠支持。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐