说明
服务器配置:
- 戴尔Precision 7920 Tower
- 双路英特尔至强银牌 4210R,20核40线程
- 两条DDR4-3200 REG-ECC 32GB内存
- 单块Nvidia RTX3090显卡
- 1400W电源
安装所需软件
- 这里是后面会用到的软件
1 | [root@ubuntu:~]# apt-get install apt-transport-https bash-completion ca-certificates curl git htop iotop jq nethogs tree vim |
- 安装编译环境
1 | [root@ubuntu:~]# apt-get install build-essential dkms |
安装Nvidia驱动
参考文档
NVIDIA CUDA Installation Guide for Linux
手动添加源
1 | [root@ubuntu:~]# add-apt-repository "deb https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64 /" |
添加源公钥
1 | [root@ubuntu:~]# apt-key adv --fetch-keys http://developer.download.nvidia.cn/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub |
更新APT缓存
1 | [root@ubuntu:~]# apt-get update |
安装驱动程序
- 先确认一下软件包的版本
1 | [root@ubuntu:~]# apt-cache madison cuda-drivers-460 |
- 安装指定版本驱动
注意: 如果电脑的BIOS里面开启了SecureBoot功能,在安装驱动时会要求添加key到UEFI,并且设置密码
1 | [root@ubuntu:~]# apt-get install cuda-drivers-460=460.73.01-1 nvidia-driver-460=460.73.01-0ubuntu1 cuda-tools-11-3=11.3.0-1 libcudnn8=8.2.0.53-1+cuda11.3 |
禁用nouveau
1 | [root@ubuntu:~]# cat > /usr/lib/modprobe.d/blacklist-nouveau.conf <<EOF |
重新生成内核initramfs
1 | [root@ubuntu:~]# update-initramfs -u |
重启操作系统
- 重新启动操作系统,加载dkms Nvidia驱动模块,顺带禁用nouveau
1 | [root@ubuntu:~]# reboot |
注意: 第一次重启时,屏幕会提示”Perform MOK management”,选择”Enroll MOK”,选择”Continue”,选择”Yes”
屏幕提示”Enroll the key(s)?”,输入安装驱动时设置的密码,选择”OK”,重启电脑
检查驱动
1 | [root@ubuntu:~]# nvidia-smi |
检查GPU持久化服务
1 | [root@ubuntu:~]# systemctl status nvidia-persistenced.service |
验证CUDA
- 安装cuda-samples
1 | [root@ubuntu:~]# apt-get install cuda-samples-11-3 |
- 运行deviceQuery
1 | [root@ubuntu:~]# cd /usr/local/cuda-11.3/samples/1_Utilities/deviceQuery |
- 运行bandwidthTest
1 | [root@ubuntu:~]# cd /usr/local/cuda-11.3/samples/1_Utilities/bandwidthTest |
安装Nvidia-Docker2
参考文档
添加Docker-CE源
1 | [root@ubuntu:~]# curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add - |
安装Docker-CE
1 | [root@ubuntu:~]# apt-get update |
添加Nvidia-Docker源
1 | [root@ubuntu:~]# distribution=$(. /etc/os-release;echo $ID$VERSION_ID) |
安装Nvidia-Docker2
1 | [root@ubuntu:~]# apt-get update |
编辑docker配置文件
1 | [root@ubuntu:~]# cat /etc/docker/daemon.json |
重启Docker服务
1 | [root@ubuntu:~]# systemctl restart docker.service |
验证Nvidia-Docker
1 | [root@ubuntu:~]# docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi |