在 Ubuntu 服务器版上安装 CUDA 通常分为以下几个核心步骤:确认硬件兼容性、卸载旧版本(可选)、添加 NVIDIA 官方仓库、安装驱动和 CUDA Toolkit、配置环境变量、验证安装。以下是基于 Ubuntu 20.04/22.04 LTS 的完整流程(适用于大多数现代场景):
✅ 前置准备
-
确认 GPU 型号与驱动支持
访问 NVIDIA CUDA 兼容性表 检查你的显卡是否支持目标 CUDA 版本。 -
更新系统并安装必要工具
sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential wget curl git -
禁用 Nouveau 开源驱动(重要!)
编辑 GRUB 配置:sudo nano /etc/default/grub在
GRUB_CMDLINE_LINUX_DEFAULT行末尾添加:nouveau.modeset=0保存后更新 GRUB 并重启:
sudo update-grub sudo reboot
🔧 方法一:推荐方式 —— 使用 .run 文件安装(灵活,适合服务器无图形界面)
⚠️ 注意:此方法会自行安装驱动 + CUDA,但需手动处理内核头文件。
步骤:
- 下载对应版本的 CUDA Toolkit
例如 CUDA 12.4(请替换为你需要的版本):wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install -y cuda-toolkit-12-4✅ 更推荐通过 APT 安装(见方法二),避免
.run文件的兼容性问题。
✅ 方法二(强烈推荐):通过 APT 仓库安装(稳定、易维护)
步骤:
-
添加 NVIDIA CUDA 官方 APT 仓库
# 以 Ubuntu 22.04 + CUDA 12.4 为例 wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update -
查看可用 CUDA 版本
apt search cuda | grep ^cuda-示例输出:
cuda-toolkit-12-4,cuda-drivers等。 -
安装驱动和 CUDA Toolkit
# 安装最新兼容驱动(自动匹配 GPU) sudo apt install -y cuda-drivers # 安装具体版本的 CUDA Toolkit(如 12.4) sudo apt install -y cuda-toolkit-12-4💡 若需特定版本(如 11.8),可指定:
cuda-toolkit-11-8 -
安装开发包(用于编译自定义算子等)
sudo apt install -y cuda-cudart-dev cuda-nvcc cuda-libraries-dev
🌐 配置环境变量(永久生效)
编辑 ~/.bashrc 或 /etc/profile.d/cuda.sh:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
注:APT 安装的 CUDA 路径通常为
/usr/local/cuda(符号链接到具体版本目录)。
✔️ 验证安装
-
检查驱动状态
nvidia-smi应显示 GPU 信息、驱动版本、CUDA 版本(右上角 "CUDA Version" 是驱动支持的最高版本,非已安装 Toolkit 版本)。
-
检查 CUDA Toolkit 版本
nvcc --version输出类似:
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on ... Cuda compilation tools, release 12.4, V12.4.99 -
运行示例程序(可选)
sudo apt install -y cuda-samples cd /usr/local/cuda/samples/1_Utilities/deviceQuery make ./deviceQuery成功时显示
Result = PASS。
🛠️ 常见问题排查
| 问题 | 解决方案 |
|---|---|
nvidia-smi 报错 |
检查驱动是否安装:apt list --installed | grep nvidia;重新安装 cuda-drivers |
nvcc: command not found |
确认 PATH 已正确设置;检查 /usr/local/cuda 是否存在 |
编译错误 fatal error: cublas_v2.h |
安装 cuda-cudart-dev 和 cuda-libraries-dev |
| 多版本冲突 | 使用 update-alternatives 管理,或明确指定 CUDA_HOME |
📝 补充建议
- 生产环境建议使用固定版本(如 12.4),避免自动升级导致不兼容。
- 容器化部署(Docker)推荐使用 NVIDIA Container Toolkit,无需在宿主机重复安装。
- 定期关注 NVIDIA CUDA Release Notes。
需要我提供某个具体版本(如 CUDA 11.8 / 12.1)的详细命令,或 Docker 部署方案吗?
CLOUD技术笔记