1. 环境准备与驱动检查
在Ubuntu 24.04上安装CUDA 13.0之前,需要确保系统环境满足基本要求。我建议先进行以下准备工作:
首先确认你的显卡型号是否支持CUDA。NVIDIA官方提供了兼容性列表,可以通过以下命令查看当前显卡信息:
bash复制lspci | grep -i nvidia
接下来检查系统内核版本和架构:
bash复制uname -m && cat /etc/*release
重要提示:Ubuntu 24.04默认使用Wayland显示服务器,但NVIDIA驱动对Wayland的支持仍不完善。建议切换到Xorg:
bash复制sudo nano /etc/gdm3/custom.conf
取消注释WaylandEnable=false这一行,保存后重启系统。
2. 安装NVIDIA官方驱动
CUDA 13.0需要特定版本的NVIDIA驱动支持。根据我的经验,推荐使用535版本驱动:
bash复制sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-535
安装完成后验证驱动状态:
bash复制nvidia-smi
如果看到类似以下输出,说明驱动安装成功:
code复制+-----------------------------------------------------------------------------+
| NVIDIA-SMI 535.86.05 Driver Version: 535.86.05 CUDA Version: 12.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | N/A |
| 30% 45C P8 15W / 180W | 512MiB / 8192MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
常见问题:如果遇到"Failed to initialize NVML: Driver/library version mismatch"错误,说明内核模块版本不匹配。解决方法:
bash复制sudo apt purge nvidia*
sudo reboot
sudo apt install nvidia-driver-535
3. CUDA 13.0安装过程详解
现在开始正式安装CUDA 13.0。由于Ubuntu 24.04是较新的系统,官方仓库可能还没有对应的deb包,我们需要手动下载安装:
- 首先访问NVIDIA开发者网站下载CUDA 13.0的runfile安装包:
bash复制wget https://developer.download.nvidia.com/compute/cuda/13.0.0/local_installers/cuda_13.0.0_linux.run
- 给安装文件添加执行权限:
bash复制chmod +x cuda_13.0.0_linux.run
- 运行安装程序(关键步骤):
bash复制sudo ./cuda_13.0.0_linux.run --override
必须添加
--override参数,因为Ubuntu 24.04可能不在官方支持列表中
安装过程中需要注意几个关键选项:
- 接受EULA条款
- 不安装驱动(因为我们已单独安装)
- 选择安装CUDA Toolkit
- 创建符号链接到/usr/local/cuda
4. 环境配置与验证
安装完成后需要配置环境变量。编辑~/.bashrc文件:
bash复制nano ~/.bashrc
在文件末尾添加:
bash复制export PATH=/usr/local/cuda-13.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-13.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使配置生效:
bash复制source ~/.bashrc
验证安装是否成功:
bash复制nvcc -V
应该看到类似输出:
code复制nvcc: NVIDIA (R) Cuda compiler
release 13.0, V13.0.0
进一步测试CUDA功能:
bash复制cd /usr/local/cuda-13.0/samples/1_Utilities/deviceQuery
make
./deviceQuery
如果看到"Result = PASS",说明CUDA安装完全成功。
5. 常见问题解决方案
在实际安装过程中,我遇到过几个典型问题,这里分享解决方法:
问题1:安装过程中出现"unsupported compiler"错误
这是因为GCC版本过高。CUDA 13.0最高支持GCC 11,而Ubuntu 24.04可能自带GCC 12+。解决方法:
bash复制sudo apt install gcc-11 g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100
问题2:运行deviceQuery时出现"no kernel image is available"
这通常是因为显卡计算能力与CUDA不匹配。解决方法:
- 查找你的显卡计算能力(如RTX 3060是8.6)
- 编辑/usr/local/cuda/include/crt/host_config.h
- 找到
#define __CUDA_ARCH__并修改为你的计算能力(如860)
问题3:系统更新后CUDA不可用
这是因为内核更新导致NVIDIA模块未重建。解决方法:
bash复制sudo apt install dkms
sudo dkms install -m nvidia -v 535.86.05
6. 性能优化与实用技巧
安装完成后,可以通过以下方式优化CUDA性能:
- 启用持久模式减少内核启动延迟:
bash复制sudo nvidia-smi -pm 1
- 设置GPU性能模式为最高:
bash复制sudo nvidia-smi -ac 4004,1911
- 监控GPU使用情况(实用命令):
bash复制watch -n 1 nvidia-smi
- 多版本CUDA管理技巧:
bash复制sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-13.0 100
sudo update-alternatives --config cuda
对于深度学习开发者,建议额外安装cuDNN:
bash复制sudo apt install libcudnn8 libcudnn8-dev
7. 卸载与清理方法
如果需要卸载CUDA 13.0,可以执行:
bash复制sudo /usr/local/cuda-13.0/bin/uninstall_cuda_13.0.pl
sudo apt purge nvidia-cuda-toolkit
sudo apt autoremove
清理残留文件:
bash复制sudo rm -rf /usr/local/cuda*
最后提醒一点:Ubuntu 24.04作为新发布版本,可能会遇到一些兼容性问题。如果遇到无法解决的问题,可以考虑使用Docker容器方式运行CUDA应用,这样能获得更好的隔离性和兼容性。
