1. 背景与前期准备
此篇博客记录一下TLinux系统安装显卡NVIDIA驱动与CUDA10/11的艰难过程。
1.1 显卡驱动与CUDA对应关系
1.2 查看内核版本与安装系统开发库
如果已安装可以忽略此步骤
查看内核版本
uname -a
下载网址(相对应的内核版本)如果是TLinux可以在这里下载:https://tlinux-mirror.tencent-cloud.com
本地下载,上传至机器
执行命令安装:
rpm -ivh kernel-tlinux2-devel-3.10.107-1.0046.tl2.x86_64.rpm
1.3 卸载旧驱动
如果已经安装了显卡驱动,但版本与想要安装的CUDA版本对不上号的话,要先卸载旧版本Nvidia驱动,重新安装
卸载方式:找到显卡驱动.run文件,输入
sh NVIDIA-Linux-x86_64-418.87.00.run —uninstall
或者
/usr/bin/nvidia-uninstall
2. 安装NVIDIA显卡驱动
2.1 下载驱动
进入https://www.nvidia.cn/Download/index.aspx?lang=cn 选择显卡版本并下载.run文件
下载完成后上传至机器上面
2.2 安装驱动
./NVIDIA-Linux-x86_64-418.87.00.run -x
cd NVIDIA-Linux-x86_64-418.87.00
./nvidia-installer
点击确定后安装成功,尝试nvidia-smi查看是否读取到显卡信息,如果安装过程失败或者nvidia-smi失败则继续下一步。
nvidia-smi
2.3 内核签名
下载 NVIDIA-Linux-x86_64-418.87.00/kernel 下内核模块文件nvidia-uvm.ko 和 nvidia.ko
https://download.csdn.net/download/asd136912/12912307
之后再将这两个文件下载拷贝到相应的文件夹,depmod更新模块依赖
cp nvidia.ko /lib/modules/3.10.107-1-tlinux2-0046/extra
mkdir /lib/modules/3.10.107-1-tlinux2-0046/extra/uvm
cp nvidia-uvm.ko /lib/modules/3.10.107-1-tlinux2-0046/extra/uvm
depmod
2.4 再次安装
./NVIDIA-Linux-x86_64-418.87.00.run --no-kernel-module -a
也是一路选择确定,安装完成之后再此执行nvidia-smi
nvidia-smi
如果有相关显卡信息则说明安装成功
3. 安装CUDA
已经安装了其他版本,可以先卸载,若后面安装报错,可重启一下
/usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl
进入https://developer.nvidia.com/cuda-downloads,选择相应版本下载CUDA
这边选择了下载之后再上传至服务器安装
sh cuda_11.1.0_455.23.05_linux.run
不勾选安装Driver,如图所示
在option-driver option里面勾选上面两个选项
安装完成后,配置环境变量
vim /etc/profile
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
source /etc/profile
查看版本
nvcc --version
测试
cd /root/NVIDIA_CUDA-10.1_Samples/1_Utilities/bandwidthTest
make
./bandwidthTest
4. 安装cuDNN
打开链接https://developer.nvidia.com/cudnn,需要先注册和填写信息,之后选择对应版本的安装包
下载完成后解压压缩包
$ tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz
复制文件与lib至对应路径
$ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*