2080Ti与3080Ti单机多卡安装与并行训练

1 本人环境

机器:dell T640服务器

系统:Ubuntu16.04 LTS

已安装显卡:2080Ti

已安装驱动版本:NVIDIA-Linux-x86_64-470.57.02.run

已安装cuda版本:cuda_10.0.130_410.48_linux.run

已安装cudnn版本:cudnn-10.0-linux-x64-v7.4.2.24.tgz

需求:与服务器无关,大家只要是Ubuntu16.04系统即可参考。由于目前需求,需要扩充一张3080Ti显卡,但全网关于2080Ti与3080Ti的兼容问题和安装问题并无查询结果,因此本人通过实践来证明2080Ti与3080Ti是否可以兼容?是否可以并行进行深度学习模型训练?是否会出现各种问题?现对实现结果进行介绍。

2 准备工作

由于3080Ti显卡支持的cuda版本必须为cuda11以上,但2080Ti支持的cuda版本为cuda10.0,因此想要两张卡并行训练,就需要更改系统原来安装的cuda10.0,因此第一步先将已安装的cuda和cudnn全部卸载。卸载cuda之前需要先卸载cudnn。对于cudnn和cuda卸载,网上已有很详细说明,这里不在过多说明

3 驱动

在此将3080Ti显卡安装后,发现现在的驱动不能检测到3080Ti显卡,因此需要重新安装驱动,在此进入英伟达官网:NVIDIA DRIVERS Linux x64 (AMD64/EM64T) Display Driver 下载最新的驱动,截至目前驱动程序的版本为:470.86

安装显卡驱动前需禁用lightdm服务:

sudo service lightdm stop

关闭图形化界面后进入命令行模式:ctrl+alt+f1,并进入管理员账号,输入密码后登录到管理员用户。

进入到显卡驱动下载目录,执行:

sudo bash NVIDIA-Linux-x86_64-470.86.run

 然后通过 nvidia-smi 命令即可查看到新添加的3080Ti显卡与之前安装的2080Ti显卡与对应的显存

4 cuda11.0

在此下载cuda11.0,进入 https://developer.nvidia.com/cuda-downloads 下载cuda11.0,由于3080Ti需要cuda11.0而2080Ti能否兼容cuda11.0还不得而知,只能通过实践了解。下载后的安装程序为:cuda_11.0.2_450.51.05_linux.run

同样在命令行模式下(ctrl+alt+f1)进入cuda下载目录,执行:

sudo bash cuda_11.0.2_450.51.05_linux.run --no-opengl-libs

添加 --no-opengl-libs  是为了不安装opengl库,防止安装之后进入图形化页面出现循环登录的问题。

安装过程中会首先出现输入accept,然后会出现提示安装的驱动、cuda,在此首先选择driver,然后点击enter,即取消安装driver,因为我们在第3步已经安装了驱动,在此不需要安装其推荐的驱动(如果安装了,3080TI就不能检测到)。然后选择install,并点击enter,安装完成会出现 installed 字样。

安装成功后使用如下命令开启lightdm服务

sudo service lightdm start

使用ctrl+alt+f7成功进入图形化页面,cuda安装完成。

Cuda安装成功后配置环境变量:

sudo gedit /etc/profile 

进入文件编辑,在文件末尾添加:

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=

/usr/local/cuda-10.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

保存/etc/profile文件,并重启电脑使得环境变量永久生效

重启后:

cat /proc/driver/nvidia/version 

使用如上命令验证驱动版本

nvcc -V   

使用如上命令验证cuda版本

cuda安装失败提示:

“The program ‘nvcc’ is currently not installed.”

5 cudnn 安装

接下来需要安装cudnn,进入cuDNN Archive | NVIDIA Developer 选择对应cuda版本的cudnn版本,由于上面安装了cuda11.0,因此在此下载与cuda11.0匹配的cudnn,下载后的cudnn名称为:cudnn-11.0-linux-x64-v8.0.4.30.tgz

由于该文件为压缩包,因此需要在cudnn下载路径执行以下命令进行解压:

tar -xvf cudnn-11.0-linux-x64-v8.0.4.30.tgz

解压后会出现cuda文件夹,然后依次输入如下命令:

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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

完成cudnn与cuda的配置,接下来可以输入如下命令查看cudnn版本:

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

新版cudnn查看版本的命令如上可能并不适用,在此进入cudnn解压后的cuda文件夹,然后进入include文件夹,会发现一个cuda_version.h的文件,然后执行如下命令即可查看cudnn版本: 

cat cudnn_version.h | grep CUDNN_MAJOR -A 2

 6 测试

至此,驱动、cuda、cudnn均已安装完成,接下来需要进行测试,最开始我使用了1.2版本的pytorch,发现在2080Ti显卡上可以正常使用(是个谜,明明已经安装了cuda11.0,而GPU版pytorch1.2对应cuda10.0),而在3080Ti上不可以使用,也就是显存不会增长。

考虑可能是cuda版本与pytorch版本不对应的问题,因此进入pytorch官网,下载cuda11.0对应的pytorch,在此我下载了pytorch1.7的GPU版本,具体安装命令进入官网复制即可。

最后惊讶的事情发生了,安装了GPU版的pytorch1.7,在2080Ti与3080Ti显卡上均可以进行深度学习,至此也解决了心中的疑问,2080TI可以使用cuda11.0!2080Ti与3080Ti可以并行使用!cuda11.0可以向下兼容2080Ti显卡!

7 需要注意的点

由于目前系统已经有了两张显卡,所以可以通过“cuda:0”选择第一张显卡,“cuda:1”使用第二张显卡,以此类推。

至此写下此文供同学们参考,如有问题请留言交流!

本文为作者原创,如有转载,请注明出处,侵权必追!

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

带鱼工作室

感谢您的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值