【转】“Ubuntu18.04下NVIDIA GPU驱动程序运行一段时间后出错“NVIDIA-SMI has failed”

这里给出英伟达官方的cuda和驱动的对应:
在这里插入图片描述
转自【已解决】Ubuntu18.04下NVIDIA GPU驱动程序运行一段时间后出错“NVIDIA-SMI has failed”

          本人在使用Ubuntu18.04 NVIDIA GPU深度学习环境的过程中,每过一段时间就出现错误“NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running”,这时参考网上的做法卸载GPU驱动再重装,但是过一段时间后又不正常,经过观察发现,每次出现这种问题都是在Ubuntu系统自动更新后,今天将解决过程详细记录下来,安装驱动过程中也有雷区,网上很多帖子都没有详细说,这里说明记录一下,供有类似问题的深度学习研究童鞋参考。

        注意:我的电脑GPU为NVIDIA 940MX,安装了CUDA9.0和cuDNN支持,对于其他版本的GPU处理情况类似。这里针对的是之前已经安装过GPU驱动+CUDA+cuDNN的情况,对于首次安装GPU驱动,还需要将原始集成显卡加入黑名单等步骤,见我的另一篇帖子:《Ubuntu18.04下搭建深度学习环境(tensorflow CPU GPU、Keras、Pytorch、Pycharm、Jupyter)》

       解决方法: 

     1、禁用Ubuntu自动更新功能

      在Ubuntu设置中直接用图形界面就可以解决,在software&update中,相信贴两张截屏大家就应该明白

     

     

2、卸载所有NVIDIA驱动:

sudo apt-get remove --purge nvidia* 
 
 

3、确保gcc、g++是4.8以上版本,安装nvidia驱动时候需要,Ubuntu18.04自带版本为gcc-7.3:

       注意:安装NVIDIA GPU驱动需要gcc和g++的版本为7.0以上,Ubuntu18.04系统自带的gcc和g++就是7.3版本的,已经满足要求,但是由于之前安装好驱动后,继续安装的cuda9.0只支持4.8以下版本,所以之前在安装好GPU驱动后将gcc,g++降级到了4.8,这里要先确认版本,然后修改软连接。这里请去NVIDIA官网查看驱动需要的gcc和g++版本,否则即使使用下一步的命令安装好驱动后,使用nvdia-smi命令错误显示依旧。


 
 
  1.       $cd /usr/bin
  2.       $ls -l gcc*   #查看gcc链接 
  3.       $sudo mv gcc gcc.bak #备份 
  4.       $sudo ln -s gcc-7 gcc #重新链接
  5.       $gcc –v      #显示版本为gcc-7.3
  6. #对g++进行同样的操作
  7. $ls -l g++*   #查看gcc链接
  8. $sudo mv g++ g++.bak #备份 
  9. $sudo ln -s g++-7 g++ #重新链接
  10. $g++ –v      #显示版本为g++-7.3

   4、安装GPU驱动

$sudo ubuntu-drivers autoinstall
 
 

   5、重启系统,使用nvidia-smi查看,看到显卡信息说明安装成功:


 
 
  1. $sudo reboot
  2. #重启系统后查看显卡信息
  3. $nvidia-smi

通过系统设置菜单也可以看到显卡信息:

  6、安装完毕后将gcc、g++降级到4.8版本,CUDA要求的gcc、g++版本低于4.8,否则进行深度学习运算时候会出错。


 
 
  1. $cd /usr/bin
  2. $ls -l gcc* #查看gcc链接
  3. $sudo mv gcc gcc.bak #备份
  4. $sudo ln -s gcc-4.8 gcc #重新链接
  5. $gcc –v #显示版本为gcc-4.8
  6. #对g++进行同样的操作
  7. $ls -l g++* #查看gcc链接
  8. $sudo mv g++ g++.bak #备份
  9. $sudo ln -s g++-4.8 g++ #重新链接
  10. $g++ –v #显示版本为g++-4.8

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值