当前位置: 代码迷 >> 综合 >> ubuntu20.04 RTX 8000 安装GPU驱动,CUDA,cuDNN,TensorRT
  详细解决方案

ubuntu20.04 RTX 8000 安装GPU驱动,CUDA,cuDNN,TensorRT

热度:80   发布时间:2023-12-17 05:45:14.0
GPU驱动安装

安装正确合适的GPU驱动至关重要,关系着是否能正常使用GPU显示或者是加速运算等工作。各型号GPU皆可从NVIDIA 官方网站下载到适合的GPU驱动版本。通过选择GPU型号、操作系统,即可找到适合自己系统的GPU驱动。如果下载的是源码文件则需要编译安装,不过现在官方提供的Linux显卡驱动多是以.run为后缀的,这种直接在命令行中运行 bash driveName.run 运行即可安装。

下载驱动

我的GPU型号是Quadro RTX 8000, 2020年底英伟达刚出新款GPU,在英伟达官网查到对应的驱动为NVIDIA-Linux-x86_64-460.32.03.run,大小140M,我是直接从官网网页下载的,下载网速很慢,下载的驱动已经上传百度云了,有用到可以自取。

GPU查询网址: https://www.nvidia.com/download/index.aspx?lang=en-us

image-20210123230253638

nouveau驱动屏蔽

Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,也没能得到NVIDIA的认可与支持,但大多linux系统都集成了该驱动,安装NVIDIA官方私有驱动的时候Nouveau成为了阻碍,一般会报下面错误。

“ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver……”

不干掉Nouveau安装时总是报错,所以安装GPU驱动之前先要干掉Nouveau。

使用命令 lsmod |grep nouveau,查看是否在使用nouveau驱动,输出如下:

nouveau              1949696  0
mxm_wmi                16384  1 nouveau
wmi                    32768  2 mxm_wmi,nouveau
video                  49152  1 nouveau
ttm                   106496  2 drm_vram_helper,nouveau
drm_kms_helper        184320  4 ast,nouveau
i2c_algo_bit           16384  3 igb,ast,nouveau
drm                   491520  6 drm_kms_helper,drm_vram_helper,ast,ttm,nouveau

使用如下命令,屏蔽nouveau驱动,并重启机器。

sudo -s
echo -e "blacklist nouveau\noptions nouveau modeset=0" > /etc/modprobe.d/blacklist-nouveau.conf
update-initramfs -u
reboot

重启机器后,再次使用lsmod |grep nouveau命令查看,确认nouveau驱动已被屏蔽。

被动式散热和主动式散热区别

其实每个服务器都自带了那么一点点GPU,用来显示图形桌面,大概几十M。如果我们安装了GPU,桌面显示要不要使用GPU显存,对于Windows版本来说,没有显示问题,Linux版本会显示问题,尤其安装了ubuntu桌面版的服务器。

GPU卡可单纯作为运算或同时也可以作为显示,若您选择可做为显示的卡片,您将可以依照自己的需求进行选择是否要使用该GPU卡或使用主板的显示芯片做为显示。当然目前中高阶的主板都有内置显示芯片,若单纯做为AI开发或并行运算的系统,那么建议您仅使用主板的内置显示,因为显示会占用到GPU内存的资源,也就会减少计算时可用的GPU内存容量。但若您是绘图(如OpenGL或DirectX)相关的开发者,那还是建议您直接使用GPU卡进行显示。

若使用Tesla或是Quadro的被动散热版本(Quadro RTX 6000和Quadro RTX 8000 Passive),那您只能使用该GPU卡进行运算,无法做为显示。 一般刀架服务器都是内置风扇,散热模式为被动模式(passive mode), 是不可显示桌面的。所以即使刀架服务器安装了ubuntu桌面版,后续也使用不了桌面显示,只能退化为终端显示。这是坑,如果接受不了终端显示,最好选择塔式服务器。塔式服务器散热模式为主动散热,可以使用GPU显示。

image-20210304195658045

安装步骤

我的服务器是刀架服务器Quadro RTX 8000 Passive,只能选择不使用GPU显示,驱动安装步骤如下

  • 官网下载GPU驱动安装文件(扩展名为run)
  • 进入文本模式:init 3
  • 关闭显示接口:sudo service lightdm stop (于ubuntu)
  • 安装驱动:bash NVIDIA-Linux-x86_64-460.32.03.run --no-opengl-files #no-opengl-files不使用GPU显示
  • 依照指令安装驱动
  • 确认安装是否完成:nvidia-smi
  • 重启并进入桌面:sudo reboot

若遇下面报错

 ERROR: You do not appear to have libc header files installed on your system.  Pleaseinstall your distribution's libc development package

安装下面两个工具

apt-get install libc-dev libc6-dev

安装完成截图

image-20210123234921286

安装完成后验证

image-20210123235140468

参考:https://zhuanlan.zhihu.com/p/166484317

Cuda Toolkit安装
版本选择

GPU驱动本身的CUDA版本(CUDA User Mode Driver)不可低于使用的CUDA Toolkit(CUDA Runtime)的版本,也就是说如果使用CUDA Toolkit 10.0进行AI开发,则GPU的驱动自带的CUDA版本不可低于10.0。至于要如何得知使用的驱动自带的CUDA版本?NVIDIA官网提供一个列表(Linux系统使用),CUDA与各版本之间比对:https://blog.csdn.net/q_xiami123/article/details/114394519。若不想这么麻烦,不论驱动或是CUDA Toolkit都下载最新版即可解决适配问题

下载安装包

CUDA Toolkit下载地址:https://developer.nvidia.com/zh-cn/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=runfilelocal

选择匹配操作系统的版本,安装程序类型推荐选择runfile(local)

image-20210304184654832

选完获得下载的版本和下载方式 cuda_11.1.0_455.23.05_linux.run, 下载大小:3.4g

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
安装步骤

若选择使用主板显示模式安装GPU驱动,在安装CUDA Toolkit时也同样须注意。由于CUDA Toolkit内置GPU驱动程序,使用–no-opengl-files进行安装的用户,需要取消Driver驱动的安装。

  • 安装CUDA

    sudo bash cuda_11.1.0_455.23.05_linux.run
    
  • 同意用户声明:accept

  • 取消安装驱动Driver选项,其它默认,然后选择Install,按照指示安装即完成,如下图设置

image-20210124002600362

安装成功界面

image-20210124003156007

配置环境变量
vim ~/.bashrc
# cuda 11.1
export PATH="/usr/local/cuda-11.1/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH"
source ~/.bashrc
CUDA安装成功测试

使用nvcc -V命令测试环境变量是否配置成功,成功则输出如下内容

image-20210124003450987

这里为了方便后期安装其他cuda版本,采用手动建立软链接,命令如下:

sudo ln -s /usr/local/cuda-11.1 /usr/local/cuda
CUDA安装参考文章

https://zhuanlan.zhihu.com/p/333362435

https://zhuanlan.zhihu.com/p/166484317

RTX6000和8000测试性能比对:https://zhuanlan.zhihu.com/p/164942336

CUDA与各版本之间比对:https://blog.csdn.net/q_xiami123/article/details/114394519

cuDNN安装
下载安装包

需要到官网注册并下载对应版本,提前准备邮箱。微信登录也行。

我使用的版本是最新的8.0.5,下载过程可参考下图。下载过程非常慢, 大小有1.4G, 可以去取我下载好的版本。

链接:https://pan.baidu.com/s/1NrzX7xrnvN3wA60SVzNWXw
提取码:wfj5
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享

注册完之后安装包下载地址

https://developer.nvidia.com/rdp/cudnn-download

image-20210124101911601

image-20210124102059332

选择Runtime Library

image-20210124112233548

安装

下载下来的是cudnn-11.1-linux-x64-v8.0.5.39.solitairetheme8文件,上传到服务器之后,可以先转为tgz的压缩文件

cp cudnn-11.1-linux-x64-v8.0.5.39.solitairetheme8 cudnn-11.1-linux-x64-v8.0.5.39.tgz

随后进行解压

tar -zxvf cudnn-11.1-linux-x64-v8.0.5.39.tgz

接下来把cudnn的文件复制到CUDA目录:

sudo cp cuda/lib64/* /usr/local/cuda/lib64/
sudo cp cuda/include/* /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

最后验证cudnn是否配置好并输出版本号:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

配置正常输出如下:

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)#endif /* CUDNN_VERSION_H */
配置TensoRT
下载安装包

打开下载地址:https://developer.nvidia.com/tensorrt

登陆Nvidia账号,同样的可能会让填一份问卷,提交之后点击立即下载。这里选择版本为"TensorRT 7.2.2 for Ubuntu 18.04 and CUDA 11.1 TAR package", 软件大小差不多1G,如果不想下载,可以去我百度网盘取。

image-20210125115912101

安装

解压并配置:

tar -zxvf TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz
sudo mv TensorRT-7.2.2.3 /usr/local/TensorRT-7.2.2.3
sudo ln -s /usr/local/TensorRT-7.2.2.3 /usr/local/tensorrt

然后配置环境变量,打开:

sudo vim ~/.bashrc

在文件末尾添加:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/tensorrt/lib

然后更新环境变量:

source ~/.bashrc
  相关解决方案