背景:原本在公司电脑上使用Windows系统下的Ubuntu20.04进行大模型微调和运行。前两天公司弄了个GPU云服务器,让我把大模型相关环境在云服务器上搭建起来。在要安装CUDA和cuDNN工具时,使用nvidia-smi指令想要查看显卡支持的版本时显示没有对应指令,打了我个措手不及。经过上网查询才知道,云服务上的NVIDIA驱动需要自己手动安装。
注意: 如果下述操作安装完成后,输入指令显示无对应指令或是有问题,可以重启下一(reboot)然后再输入对应测试指令试试,有的时候驱动安装完后系统并不会运行需要重启后才可以。
确认显卡
首先得确认下电脑上是否安装了NVIDIA显卡
lspci | grep -i nvidia
安装显卡驱动
在安装显卡驱动之前,有个事情需要确定。如果以后为了下载一些软件时想快点下载,建议更换一下源。如果在下载完驱动后再因为要下载什么感到网速慢而更换了下载源,在更换完源后会更新已经安装的软件包,其中有可能会更新Ubuntu内核导致原本已经安装并可以运行的显卡驱动出现问题。
如果需要更换源,可以使用一下指令来更换成清华源
wget https://gitee.com/lin-xi-269/tools/raw/master/os/QHubuntu20.04 && bash QHubuntu20.04
ok,开始正式安装显卡驱动
1. 安装驱动前先更新软件列表和安装必要的软件和依赖
sudo apt-get update #更新软件列表
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make
禁用nouveau
sudo vim /etc/modprobe.d/blacklist.conf 或者(blacklist-nouveau.conf)
在打开的blacklist.conf末尾添加如下,保存文本关闭
blacklist nouveau
options nouveau modeset=0
- 在终端输入更新指令,更新结束后重启电脑
sudo update-initramfs –u
- 重启电脑后再终端输入下方指令,如果没有任何输出表示屏蔽成功
lsmod | grep nouveau
- 安装用于显示硬件驱动程序的工具
sudo apt install ubuntu-drivers-common
- 输入如下指令,查看显卡行行好以及推荐的驱动版本。
ubuntu-drivers devices
如下图, 这里我已经安装完了,显示的有点差异,但是大体是差不多的。这里推荐我们安装nvidia-driver-535 - distro。
- 如果我们能接受这个版本的驱动的话,就直接输入自动安装指令即可。
sudo ubuntu-drivers autoinstall
整个安装过程根据提示操作即可。安装完成后重启系统,NVIDIA显卡就可以正常工作了。
- 查看是否安装成功
重启后再输入
nvidia-smi
这次就可以看到GPU信息了。出现如下界面就代表显卡驱动安装成功了。
注意,上图中的 CUDA Version 后面写了一个版本号。该版本号并不是你已经安装了该版本的 CUDA 的意思,而是说此显卡最大支持的CUDA版本号。因此我们仍然需要手动从官网下载CUDA,且版本号不能高于这个。
安装CUDA
这一步要谨慎,这个CUDA版本有个坑,我们要去Pytorch官网查看都支持那些版本,要根据torch官网中支持的CUDA版本和自己显卡最大支持CUDA版本来下载。
可以看到最高支持12.1,那我们最高就安装12.1版本即可,如果安装高了有可能出现torch调用不了的情况,到时候卸载什么的就会很麻烦。
选择电脑显卡支持的版本。我这里选择12.1了就。
选择好版本信息后,这里就可以看到下方给出了对应的安装指令。直接将指令复制粘贴进终端执行即可
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-ubuntu2004-12-1-local_12.1.1-530.30.02-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-12-1-local_12.1.1-530.30.02-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
安装完成后要配置一下环境变量
sudo vim ~/.bashrc
文末追加
export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
注意: 记得修改自己的CUDA安装路径
配置生效
source ~/.bashrc
测试下CUDA安装是否成功
nvcc -V
显示出版本信息即代表安装成了。
安装cuDNN
选择好自己的版本信息,然后根据给出的指令安装就完了。
wget https://developer.download.nvidia.com/compute/cudnn/9.0.0/local_installers/cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2004-9.0.0_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2004-9.0.0/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
检查torch是否能调用CUDA和cuDNN
进入python执行终端中,然后依次输入下面指令:
import torch
然后
print(torch.version.cuda)
如上图所示,可以正确返回cuda版本号,说明cuda没有问题。
print(torch.backends.cudnn.version())
如上图所示,可以正确返回cuDNN版本号,说明cuDNN安装成功
最后输入下方指令,来验证下是否torch是否可以调用显卡了。
torch.cuda.is_available()
如果返回True,那就说明CUDA和GPU驱动的搭配是正确的。
好了!大功告成!!