本机配置:

CPU E5-2698B v3
显卡 V100 32G
内存 16G D3
操作系统 Ubuntu 22.04

V100检测

v100检测B站上教程很多,这里只提一点,有些贩子会重置ECC错误,建议用到手之后压测一段时间后再看ECC是否报错。

V100 驱动安装

检测驱动和硬件

1
2
lspci | grep V100
lsmod | grep nvidia

检测当前系统内核

1
uname -r

禁用核心显卡驱动

1
2
sudo bash -c "echo 'blacklist nouveau' >> /etc/modprobe.d/blacklist-nouveau.conf"
sudo bash -c "echo 'options nouveau modeset=0' >> /etc/modprobe.d/blacklist-nouveau.conf"

更新initramfs 重启

1
sudo update-initramfs -u && sudo reboot

验证是否禁用(无输出即可)

1
lsmod | grep nouveau

检查gcc版本

1
2
3
4
5
gcc --version
sudo apt install gcc-12 g++-12
# 设置 GCC 12.3 为默认编译器 优先级设置
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100

清理驱动

1
2
# 彻底清除所有 NVIDIA 和 CUDA 相关包
sudo apt purge *nvidia* *cuda*

升级内核

1
2
sudo apt update
sudo apt upgrade

安装制定版本内核以及扩展功能

1
2
3
sudo apt install -y linux-image-6.8.0-85-generic \
linux-headers-6.8.0-85-generic \
linux-modules-extra-6.8.0-85-generic

重启电脑,并进行检测

1
2
# 检查内核文件是否已安装
ls /boot/vmlinuz-6.8*

验证内核版本

1
uname -r

安装NVIDIA驱动

安装dkms

1
sudo apt-get install dkms

添加nvidia驱动源

1
2
3
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
ubuntu-drivers devices

建议安装后面带recommended的

1
sudo apt install nvidia-driver-535

CUDA安装

这里我主要用途是跑AI大模型,我推荐12.8

打开官网,这里我选的是12.8.0

1
https://developer.nvidia.com/cuda-toolkit-archive

按照配置选择

按照官网的命令一步步执行就行

1
2
3
4
5
6
7
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda-repo-ubuntu2204-12-8-local_12.8.0-570.86.10-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-8-local_12.8.0-570.86.10-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

完事后编辑

1
vim ~/.bashrc

添加

1
2
export PATH=$PATH:/usr/local/cuda-12/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12/lib64

保存退出后

1
source ~/.bashrc

最后终端输入nvcc -V即可查看CUDA版本

NVIDIA Container Toolkit(需预先安装docker)

由于作者需要在docker里使用GPU,所以要安装NVIDIA Container Toolkit,如果不使用docke本步可以忽略

由于我服务器连不上外网,下载速度很低,所以采用离线安装的方法

在NVIDIA的GitHub主页找到Ubuntu系统对应的NVIDIA Container Toolkit安装包

找到以下版本的包

1
2
3
4
5
6
libnvidia-container1.18.0-1_amd64.deb           # 基础库包,提供了最基本的功能,其他包都依赖于它
libnvidia-container-tools_1.18.0-1_amd64.deb # 基础工具包,依赖于 libnvidia-container1
nvidia-container-toolkit-base_1.18.0-1_amd64.deb # 基础组件包,依赖于前面的包
nvidia-container-toolkit_1.18.0-1_amd64.deb # 主要的工具包,依赖于以上所有包
libnvidia-container1-dbg_1.18.0-1_amd64.deb # 调试符号包,只在调试问题时使用
libnvidia-container-dev_1.18.0-1_amd64.deb # 开发包,只在进行开发时使用

其中最后两个安装包可以选择不下载和不安装

上传到服务器后执行

1
2
3
4
sudo dpkg -i libnvidia-container1.18.0-1-1_amd64.deb  
sudo dpkg -i libnvidia-container-tools_1.18.0-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit-base_1.18.0-1_amd64.deb
sudo dpkg -i nvidia-container-toolkit_1.18.0-1_amd64.deb

查看NVIDIA Container Toolkit的版本以验证是否安装成功

1
nvidia-ctk --version

设置Docker默认使用NVIDIA runtime

1
sudo nvidia-ctk runtime configure --runtime=docker

重启Docker

1
sudo systemctl restart docker