准备工作
安装CentOS Linux 7.9系统时,无论选择“最小化安装”或者“带GUI的服务器”,建议勾选开发工具,这样后面可省去安装gcc、kernel-devel、kernel-headers等依赖包的步骤。
本文以NVIDIA RTX A4000为例,其他型号GPU安装过程差不多。
查看内核版本和CentOS系统 版本:
uname -a cat /etc/centos-release
查看服务器上是否有NVIDIA GPU:
lspci | grep NVIDIA
/sbin/lshw -c display
如果系统安装时没有选择安装开发工具,则安装一下gcc、kernel-devel等以及相关依赖包。如果服务器没有连接互联网,则可以设置本地yum源进行安装,参考https://www.hncldz.com/?p=651 设置本地源:
sudo yum install gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r)
安装以下包及其依赖包(可选):
sudo yum install libXmu-devel libXi-devel mesa-libGL-devel
以run文件形式安装Nvidia驱动和CUDA Toolkit
下载CUDA Toolkit
CUDA Toolkit安装包内包含了驱动程序,因此不用先安装驱动程序,打开CUDA Toolkit下载页面,https://developer.nvidia.com/cuda-downloads,选择系统版本和硬件平台,安装包类型这里以runfile为例:
下载页的安装说明
用wget命令下载:
wget https://developer.download.nvidia.com/compute/cuda/12.3.1/local_installers/cuda_12.3.1_545.23.08_linux.run
或者先在电脑上下载,用winscp、xftp等工具传送到服务器上。
禁用nouveau驱动
nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前应先禁用nouveau。
查看系统是否正在使用nouveau:
lsmod | grep nouveau
如果有显示内容,如图:
新建一个配置文件:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
写入以下内容:
blacklist nouveau options nouveau modeset=0
保存并退出
:wq
备份当前的内核镜像:
sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
建立新的内核镜像:
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
重启服务器:
sudo reboot
重启后输入上面的命令验证:
lsmod | grep nouveau
停止X server
如果Centos 7正在运行桌面,则先使用以下命令停止X server的运行:
sudo systemctl stop gdm
安装CUDA Toolkit
执行安装程序:
sudo sh cuda_12.3.1_545.23.08_linux.run
接受许可协议:
选择Install开始安装:
如果检测到已经存在CUDA Toolkit,按提示选择升级或者取消安装:
安装成功的提示:
可以看到卸载的命令是nvidia-uninstall和/usr/local/cuda-12.3/bin/cuda-uninstall。
如果安装出错,查看安装日志/var/log/cuda-installer.log和/var/log/nvidia-installer.log,检查错误原因。
验证驱动
nvidia-smi
验证CUDA Toolkit
查看nvcc
cd /usr/local/cuda/bin/ ./nvcc --version
安装CUDA Toolkit时默认安装了CUDA Demo Suite,包含了deviceQuery、bandwidthTest等工具,打开这个链接查看说明https://docs.nvidia.com/cuda/demo-suite/index.html#demos
下面使用deviceQuery查询设备
cd /usr/local/cuda-12.3/extras/demo_suite ./deviceQuery
带宽测试bandwidthTest:
./bandwidthTest --memory=pinned --mode=range --start=1024 --end=102400 --increment=1024 --dtoh
设置环境变量(可选)
vim ~/.bashrc
添加以下内容
export CUDA_HOME=/usr/local/cuda export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH export CUDA_ROOT=/usr/local/cuda
使修改生效:
source ~/.bashrc
这样就可以使用nvcc 命令了
使用gpu-burn进行压力测试
下载安装gpu-burn
下载地址:https://github.com/wilicc/gpu-burn,
上传到系统后开始安装:
unzip gpu-burn-master.zip cd gpu-burn-master/ make
如果需要执行清理,重新编译,执行:
make clean
执行压力测试
./gpu_burn
长时间压力测试:
./gpu_burn 43200
43200为时间,单位是秒,根据需要调整。
gpu_burn命令使用帮助:
./gpu_burn -h
卸载NVIDIA驱动、CUDA Toolkit
卸载驱动:
sudo nvidia-uninstall
卸载CUDA:
sudo /usr/local/cuda/cuda-uninstaller