在部署之前,需要了解下python-tensorflow-cuDNN-CUDA版本对应关系,以便能够完全兼容
下文以此版本为例部署
gcc-7.3.1
gpu driver-460.106.00
cuda-11.2
cudnn-8.1.1
一.gcc部署
1.安装
[root@gpu ~]# yum -y install centos-release-scl
[root@gpu ~]# yum install devtoolset-7-gcc*
安装完成后会发现/opt/rh目录下会多出以下目录devtoolset-7,说明安装成功
2.切换为默认版本
[root@gpu ~]# mv /usr/bin/gcc /usr/bin/gcc-4.8
[root@gpu ~]# mv /usr/bin/g++ /usr/bin/g++-4.8
[root@gpu ~]# ln -s /opt/rh/devtoolset-7/root/usr/bin/gcc /usr/bin/gcc
[root@gpu ~]# ln -s /opt/rh/devtoolset-7/root/usr/bin/g++ /usr/bin/g++
[root@gpu ~]# mv /usr/bin/cc /usr/bin/cc-4.8
[root@gpu ~]# mv /usr/bin/c++ /usr/bin/c++-4.8
[root@gpu ~]# ln -s /usr/bin/gcc /usr/bin/cc
[root@gpu ~]# ln -s /usr/bin/g++ /usr/bin/c++
[root@gpu ~]# gcc --version
至此,gcc升级完成。
如果想临时生效,可以执行下面命令:
# 查看已有的版本
scl --list
# 切换gcc环境
scl enable devtoolset-7 bash
# 退出环境
exit
二.GPU driver部署
- 查看显卡型号
lspci | grep -i vga
可以查看显卡型号。但是是一串数字代码,可通过PCI devices网站进行查询。
本案例的型号是Tesla T4
- 确保内核版本一致
rpm -qa | grep kernel
1.需要安装kernel-devel安装包,否则后面安装报错
2.需要确保所有包版本一致,否则后面安装报错
- 安装dkms
DKMS全称是DynamicKernel ModuleSupport,它可以帮我们维护内核外的驱动程序,在内核版本变动之后可以自动重新生成新的模块。
yum install -y dkms
- 禁用系统默认安装的 nouveau 驱动
# 修改配置
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist.conf
# 备份原来的镜像文件
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
# 重建新镜像文件
sudo dracut --force
# 重启
reboot
# 查看nouveau是否启动,如果结果为空即为禁用成功
lsmod | grep nouveau
- 下载驱动包
地址:https://www.nvidia.com/Download/Find.aspx
查看支持显卡的驱动最新版本及下载,下载之后是.run后缀。然后上传到服务器任意位置即可
- 安装
安装之前需要卸载旧的驱动(如无请忽略)
/usr/bin/nvidia-uninstall
安装新版本驱动
chmod +x NVIDIA-Linux-x86_64-418.126.02.run
sh NVIDIA-Linux-x86_64-418.126.02.run --disable-nouveau
执行nvidia-smi查看是否安装成功
三.CUDA部署
- 卸载之前的安装包
systemctl stop lightdm
cd /usr/local/cuda-8.0/bin
./uninstall_cuda_8.0.pl
rm -rf /usr/local/cuda-8.0
- 下载安装包并安装
地址:https://developer.nvidia.com/cuda-toolkit-archive
wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run
sudo sh cuda_11.2.2_460.32.03_linux.run
键入accept确认。👇
我们已经有驱动了,这里取消安装驱动,上下键和回车键选择。👇
稍作等待,出现以下提示信息就安装好了,可以看到CUDA安装到了/usr/local/cuda-11.2/
- 配置环境变量
vim /etc/profile
export PATH=//usr/local/cuda-11.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64$LD_LIBRARY_PATH
source /etc/profile
- 检查是否安装成功
四.CUDNN部署
- 下载安装包
地址:https://developer.nvidia.com/rdp/cudnn-archive
- 安装
tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz
cd cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive
sudo cp lib/* /usr/local/cuda-11.2/lib64/
sudo cp include/* /usr/local/cuda-11.2/include/
sudo chmod a+r /usr/local/cuda-11.2/lib64/*
sudo chmod a+r /usr/local/cuda-11.2/include/*
- 查看是否安装成功
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2