点此获取更多相关资料
前提
现有设备是一套 i5+4090 的组合,安装了 Ubuntu 22.04.3 LTS Server 版本,后文的安装步骤都是基于这套系统和配置进行操作。
系统准备
查看是否安装了 gcc
-
命令行中执行
gcc -v
-
正常输入如图效果的,说明已经成功安装环境所需的软件
-
如果输出的内容为如下文字,说明环境缺失
-
Command 'gcc' not found, but can be installed with:apt install gcc
-
安装命令:
sudo apt-get install build-essential
-
如果下载非常缓慢,可以修改 apt 源为国内源,清华源的速度很快,清华源配置教程。
禁用 Ubuntu 原本的显卡驱动(避免与 Nvidia 显卡驱动冲突)****
- 创建或者编辑
/etc/modprobe.d/blacklist-nouveau.conf
文件,在其中添加如下代码。
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
- 保存后在命令行执行如下命令,关闭系统自带的显卡驱动,避免与 Nvidia 的显卡驱动发生冲突
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
- 重启内核,验证是否关闭成功
sudo update-initramfs -u
sudo reboot
- 重启后执行命令
lsmod | grep nouveau
,如果没有屏幕输出,说明禁用 nouveau 成功
安装显卡驱动
查找合适的驱动版本
- 执行命令
ubuntu-drivers devices
,根据命令显示的匹配驱动,找到合适的版本,如下图
- 由于本机安装的是 server 版本系统,所以使用了 server 版本驱动
安装驱动
-
执行命令
sudo apt install nvidia-driver-535-server
,安装驱动 -
安装完毕后,执行
nvidia-smi
命令可以正常查看到 GPU 的数据界面,说明安装成功,如下图
安装 CUDA
找到合适的版本(不建议安装最新版本 CUDA,注意 pytorch 支持)
- 首先根据上一步中命令
nvidia-smi
输出内容找到最高适配的 CUDA 版本,再根据 Pytorch 官网上对 CUDA 的支持信息,确定本次安装的 CUDA 版本为 11.8,现阶段 pytorch 对 CUDA 的支持还主要在 11.7、11.8 版本,更高的 12.1 版本支持属于预览版( nightly),为了稳定建议先用 11.8,或者根据显卡型号和 pytorch 官网找到符合的版本。
下载 CUDA
- 在 NVIDIA 的开发者官方下载地址 找到对应版本 CUDA,按照系统版本、内核等信息选择后,可以直接拿到安装文件或者安装命令,本示例中使用 runfile 的方式安装。
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
- 注意: 由于 CUDA 文件较大,安装时会占用/tmp 下很大的容量(大概 5G+),可能因为
/tmp
容量不够而导致报错推出,可以在/etc/fstab
中新增/tmp
挂载的方式,临时将部分内存挂载到/tmp
目录修改容量,避免安装失败。
# 找到原本的/tmp挂载设置,前面加#将它注释掉
# /dev/disk/by-uuid/fba367b1-46bd-4b28-b769-5db19dce6129 /tmp ext4 defaults 0 1
# 新加一行将/tmp挂载到内存中的方式,提前确认好内存的大小,避免内存不足,size中设置的是新的/tmp大小
tmpfs /tmp tmpfs nodev,nosuid,size=10G 0 0
- 修改完毕后需要重启机器,然后使用
df -h
命令查看/tmp 目录的大小是否有变动
安装 CUDA
- 设置好
/tmp
文件夹大小后,切换到之前下载 run 文件的文件夹内,执行命令安装 CUDA
sudo sh cuda_11.8.0_520.61.05_linux.run
- 因为之前已经安装过显卡驱动,所以在安装 CUDA 时会出现额外的提示,建议先卸载驱动再继续安装,这里直接选择 Continue 即可
- 下一步是一个用户协议,输入 accept 即可
- 注意!最后一步中是选择要安装的内容,前面在提示驱动已存在时,我们没有额外处理驱动,所以这一步一定要选中 Driver 选项,使用 Enter 将选中的 X 去掉,避免重复安装驱动导致的异常。
- 之后就可以选中 Install 进行最终的安装
配置环境变量
- 安装完毕后,根据安装提示,将目录配置到环境变量中
- 编辑全部用户有效的环境文件
sudo vim /etc/profile
,添加如下语句(语句中的具体路径根据安装时提示的路径自行修改):
export PATH=/usr/local/cuda-11.8/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
-
使用命令直接加载
source /etc/profile
,或者重启服务器,使配置生效 -
使用命令验证安装情况nvcc -V,如下图表示已经配置成功
-
如果在准备步骤中修改了
/tmp
的挂载位置,此时记得将它还原回原本的方式,重启后生效 -
到此,CUDA 就算完整的安装完毕了