Ubuntu16.06 单Nvidia显卡 深度学习运行时 界面卡顿(刷新慢)的解决方法

关于Ubuntu单Nvidia显卡 深度学习运行时 界面卡顿(刷新慢)的解决方法

背景

我在按照 本链接 的第二种方法安装后,成功安装cuda 10.0与cudnn之后,在深度学习训练过程中发现了严重的界面卡顿。

解决方法

一句话总结:单显卡机器一定记得安装opengl,这样训练深度学习就不会出现界面卡顿了, 双显卡机器一般不会出现卡顿情况

显卡驱动安装时有几个参数:

-no-opengl-files: 不安装opengl,有的会出现驱动冲突问题
-no-x-check: 安装驱动时不检查X服务
-no-nouveau-check: 安装驱动时不检查nouveau

某些博客建议不安装opengl,原因是由于驱动冲突,双显卡会出现重复登录的问题。经过我的实测,本机单显卡 430.34 版本的nvidia驱动是可以安装opengl-files的,并且安装之后就不再卡顿,也没有出现 循环登录 的问题


附录一 —— 安装Nvidia显卡驱动的方法

Ubuntu16.06 单Nvidia显卡 深度学习运行时 界面卡顿(刷新慢)的解决方法_第1张图片
我的硬件环境是 Nvidia Titan RTX(2019年24G显存),代码与库环境是 Anaconda,Python 3.7,Pytorch 1.1。这块显卡与老驱动不兼容,因此选择了最新(2019.07)的430.34号驱动。安装过程如下

  • 打开终端,先删除旧的驱动:sudo apt-get purge nvidia*
  • 禁用自带的 nouveau nvidia驱动:
    创建一个文件通过命令 sudo gedit /etc/modprobe.d/blacklist-nouveau.conf 添加如下内容:
    blacklist nouveau
    options nouveau modeset=0
    之后更新一下
    sudo update-initramfs -u
  • 修改后需要重启系统。确认下Nouveau是已经被你干掉,使用命令: lsmod | grep nouveau
  • 使用Ctrl+Alt+F1进入文本模式,输入登录用户名与密码,注意用户名一般为小写。
  • 结束x-window的服务:sudo service lightdm stop
  • sudo bash ./NVIDIA*.run 开始安装,安装过程比较快,根据提示选择即可最后安装完毕后,重新启动X-Window:sudo service lightdm start,然后Ctrl+Alt+F7进入图形界面。
  • 测试一下是否安装成功:nvidia-smi 或 nvidia-settings,出现下图:
    Ubuntu16.06 单Nvidia显卡 深度学习运行时 界面卡顿(刷新慢)的解决方法_第2张图片

附录二 —— 安装cuda10.0, cudnn v7.5 for 10.0

按照上文我提到的显卡驱动,对应如下 CUDA包 与 cudnn包
为了方便,百度云链接在此 提取码1y07 。需要下载的为 cuda 10.0 与 cudnn-10.0-linux-x64-v7.5.0.56 文件
Ubuntu16.06 单Nvidia显卡 深度学习运行时 界面卡顿(刷新慢)的解决方法_第3张图片

安装cuda 10.0流程

  • 在CUDA文件夹 sudo sh cuda_10.0.130_410.48_linux.run

  • Ubuntu16.06 单Nvidia显卡 深度学习运行时 界面卡顿(刷新慢)的解决方法_第4张图片

  • 加入环境变量: sudo gedit ~/.bashrc
    输入:
    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}}

  • 添加后:source ~/.bashrc

  • 测试CUDA是否安装成功,终端输入命令:nvcc -V ;将出现下图
    nvcc

安装cudnn流程

  • 解压下载后的cudnn压缩包
  • 依次输入:
    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*

你可能感兴趣的:(入门)