1、安装前准备工作
确认GPU型号和操作系统版本
准备gpu驱动和CUDA软件包
在nvidia官网进行驱动包下载
2、下载对应的显卡驱动,CUDA驱动等安装包
CUDA下载链接
选择合适的操作系统版本进行下载。
Linux系统均选择 Linux 64-bit、CUDA Toolkit选择对应版本
注意该版本一定要大于等于cuda软件的版本。
选择CUDA及GPU驱动版本,需同时考虑与客户程序的兼容性问题。
CUDA 12.0 建议搭配CUDA CUDA toolkit 12.0版本的GPU驱动
3、检查服务器GPU识别情况
安装GPU驱动之前需要在操作系统下查看GPU卡是否能够完全识别,如不能识别需要进行重新插拔、对调测试 步骤进行硬件排查,确保可以查看到所有的GPU
lspci | grep -i nvidia
4、显卡驱动和CUDA卸载方法:
显卡驱动卸载方法:
/usr/bin/nvidia-uninstall
CUDA卸载方法:
/usr/local/cuda-X.Y/bin/cuda-uninstaller
老版本CUDA卸载方法
/usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
5、安装显卡驱动和必要的插件
5-1、安装gcc、g++编译器
GPU驱动安装时需要gcc编译器。
cuda安装samples测试程序进行make时需要g++,但安装cuda软件包时不需要。
CentOS 7
检查版本
gcc -v
g++ -v
软件包安装
安装GCC、GCC-C++时建议挂载本地yum源来挂载
yum install gcc
yum install gcc-c++
SUSE
检查版本
gcc -v
g++ -v
软件包安装
zypper in gcc
zypper in gcc-c++
Ubuntu
检查版本
gcc -v
g++ -v
软件包安装
apt install gcc
apt install g++
apt install make
软件包检查
dpkg -l gcc
dpkg -l g++
dpkg -l make
5-2、安装kernel-devel和kernel-headers软件包
CentOS 7
安装kernel、kernel-devel、kernel-header时建议挂载本地yum源来挂载
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
Ubuntu
Ubuntu可以不安装,也可以从阿里镜像站或网易镜像站下载,需注意内核版本。
SUSE
zypper install kernel-source-$(uname -r)
只安装这一个即可
zypper install kernel-default-devel-$(uname -r)
5-3、禁用系统自带的nouveau模块**
检查nouveau模块是否加载,已加载则先禁用
lsmod | grep nouveau
CentOS 7
没有blacklist-nouveau.conf文件则创建
vim /usr/lib/modprobe.d/blacklist-nouveau.conf
添加内容如下
blacklist nouveau
options nouveau modeset=0
执行如下命令使内核生效
dracut -force
需要重启服务器后才可真正禁用nouveau
Ubuntu
vim /etc/modprobe.d/blacklist.conf
在文本最后添加以下内容:
blacklist nouveau
options nouveau modeset=0
保存退出,执行以下命令生效:
update-initramfs -u
重启操作系统
5-4、修改系统运行级别为文本模式
GPU驱动安装必须在文本模式下进行
CentOS 7
systemctl set-default multi-user.target
Ubuntu
systemctl stop lightdm
systemctl set-default multi-user.target(也可以不执行此命令)
ctrl+alt+F1 切换到其他字符终端窗口(F7为图形中断窗口),或者init 3
SUSE
vim /etc/inittab
修改id:5:initdefault:为id:3:initdefault:
重启系统后,使禁用nouveau模块配置生效并进入文本模式
5-5、GPU驱动安装
(1)、root用户下进行GPU驱动
赋予驱动包安装权限
chmod +x NVIDIA-xxx.run
(2)、root用户下进行GPU驱动
./NVIDIA-Linux-x86_64-x.y.run --no-opengl-files
可选参数:
--no-opengl-files:表示只安装驱动文件,不安装OpenGL文件。这个参数不可省略,否则会导致登陆界面死循环,英语一般称为”login loop”或者”stuck in login”。(适用于图形化界面安装显示显卡的情况,若选择此参数,可以理解为将该显卡当成运算卡来用)
--no-x-check:表示安装驱动时不检查X服务,非必需。(不调整为文本模式适用)
--no-nouveau-check:表示安装驱动时不检查nouveau,非必需。(没有执行上面的nouveau禁用)
5-6、GPU驱动设置内存常驻模式
CentOS 7
1、配置GPU驱动内存常驻模式使得GPU驱动模式设置为常驻内存:
nvidia-smi -pm 1
2、设置开机自启动
vim /etc/rc.d/rc.local
在文件中添加一行
nvidia-smi -pm 1
4、赋予/etc/rc.d/rc.local文件可执行权限
chmod +x /etc/rc.d/rc.local
若无/etc/rc.d/rc.local,也可修改/etc/rc.local
vim /etc/rc.local
chmod +x /etc/rc.local
Ubuntu
下面的操作只适合Ubuntu18.04
也可以参考此文档
1、创建文件:
vim /etc/systemd/system/rc-local.service
2、将下面的文字复制里面
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
上面的操作只适用于Ubuntu 18.04,下面的操作适用于全部的Ubuntu版本
1、创建文件:
vim /etc/rc.local
2、在文本中写入
#!/bin/sh -e
nvidia-smi -pm 1
exit 0
3、赋予可执行权限
chmod +x /etc/rc.local
4、启动服务并设置服务开机自启动
systemctl enable rc-local.service
systemctl start rc-local.service
systemctl status rc-local.service
6、重启系统后验证
SUSE
vim /etc/init.d/after.local
没有就新建
nvidia-smi -pm 1
chmod +x /etc/init.d/after.local
安装完GPU驱动后,可以使用nvidia-smi命令进行GPU状态查看及相关配置。
nvidia-smi
6、安装CUDA
安装CUDA之前要先确定一下CUDA的版本最高支持到多大,此处是12.4,证明是最大支持的CUDA版本为12.4,可以装低版本的,尽量不要安装比12.4高的CUDA。具体的可以去官网进行查询
nvidia-smi
安装CUDA链接可以在这里根据官网的操作,wget下载完成,然后sh直接安装,若机器禁止连外网,也可以复制后面的链接,在别的笔记本电脑上下载一下该驱动,然后上传到机器上,并sh进行安装
执行完sh后会没有任何反馈,这个是正常的,我们稍作片刻,等待弹出此界面后输入accept即可
因为前面已经安装了显卡驱动了,需要取消Driver前面的X,然后只安装CUDA相关参数,最后选择Install进行安装。
安装完后会有日志提示,安装成功
7、配置CUDA环境变量
接着我们需要添加CUDA的环境变量
vim ~/.bashrc
在环境变量末尾加入该命令(具体cuda版本视情况而改变)
export PATH=/usr/local/cuda-X.Y/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-X.Y/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda
编译一下环境变量
source ~/.bashrc
至此我们安装cuda成功,可以通过以下命令查看cuda信息:
查看CUDA版本信息:
nvcc --version
nvcc -V
8、压力测试
压力测试请软件请自行下载,也可联系作者要百度网盘链接
将文件进行解压
tar -zxvf gpu-burn-master.tar.gz
进入gpu-burn-master文件夹内执行make进行gpu-burn文件
进行压力测试
./gpu_burn 秒数
新建一个窗口实时观察显卡状态