转自:Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题) - Hongkai_Ding - 博客园

0. 前言

  • 这里直接用 cuda安装文件同时安装 NVIDIA 驱动和 CUDA,没有单独安装更高版本的 NVIDIA 驱动;
  • 此安装是在 Intel 集显下的图形化界面,即用集显做 display,用 NVIDIA 独显做计算;循环登陆问题是因为安装时没有加 --no-opengl-libs 参数,默认安装了 OpenGL,覆盖掉了原来显卡的 OpenGL 库
  • 若事先单独安装了 NVIDIA 驱动,且在 NVIDIA 显卡下的图形化界面安装 cuda(即用 NVIDIA 显示同时做显示和计算),则在安装 cuda 时,取消安装 NVIDIA 驱动的选项
  • 关于自己的电脑 GPU,Linux内核等是否满足安装 cuda的要求,请参考官方安装指南

1. 下载安装文件和官方指南

登陆官网 https://developer.nvidia.com/cuda-downloads,下载相应版本的安装文件,注意安装文件类型选择 runfile(local)

同时下载官方的安装指南,便于参考

2. 禁用 nouveau 驱动(nouveau是 ubuntu16.04 默认安装的第三方开源驱动,安装cuda会跟nouveau冲突,需要先禁用)

  • 先查看 nouveau 是否被禁用,输入以下命令,若有输出,则说明 nouveau 在运行中
lsmod | grep nouveau
  • 修改 /etc/modprobe.d/blacklist.conf 文件
sudo vim /etc/modprobe.d/blacklist.conf

在末尾加入

blacklist nouveau
options nouveau modeset=0
  • 执行以下命令,并重启
sudo update-initramfs –u
  • 再执行以下命令,查看 nouveau 是否已被禁用,若无任何输出,说明禁用成功
lsmod | grep nouveau

 3.  文本命令行模式运行 runfile 文件安装CUDA

  • 按 Ctrl + Alt + F1 键进入文本命令行模式,输入用户名和密码
  • 先关闭图形化界面
sudo service lightdm stop

cd 到 runfile 文件保存的路径,进行安装(重点!!! 要么在此处加上 --no-opengl-libs 选项,要么在后面通过交互式界面进行手动选择

sudo sh cuda_10.1.168_418.67_linux.run --no-opengl-libs

执行命令后,稍等一会儿,会出现交互界面,输入 accept,过一会儿会出来选择页面进行手动设置(如是否安装 nvidia 驱动及驱动设置),最后选择 install

注意:若不小心安装了 OpenGL,则后面会遇到循环登陆的问题,原因就是 NVIDIA显卡 的 OpenGL 库覆盖了当前 Intel 显卡的库,解决办法是再登入到文本命令行模式,用以下命令先卸载 cuda 和 NVIDIA驱动,再按正确的步骤重新安装

sudo /usr/local/cuda-10.1/bin/cuda-uninstaller
sudo /usr/bin/nvidia-uninstall
  • 若能重新进入图形化界面,则基本安装成功
sudo service lightdm start

4. 检查 Device Node Verification

ls /dev/nvidia*

若结果显示 /dev/nvidia0      /dev/nvidiactl      /dev/nvidia-uvm,则说明安装成功;若显示类似 No such file or directory等信息,则进行如下操作

sudo vim /etc/rc.local

第一行为 #!/bin/sh -e,把 -e 选项去掉,然后把下面的文本复制到 exit 0 之前,保存退出

/sbin/modprobe nvidia
if [ "$?" -eq 0 ]; then# Count the number of NVIDIA controllers found.NVDEVS=`lspci | grep -i NVIDIA`N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`N=`expr $N3D + $NVGA - 1`for i in `seq 0 $N`; domknod -m 666 /dev/nvidia$i c 195 $idonemknod -m 666 /dev/nvidiactl c 195 255
elseexit 1
fi
/sbin/modprobe nvidia-uvm
if [ "$?" -eq 0 ]; then# Find out the major device number used by the nvidia-uvm driverD=`grep nvidia-uvm /proc/devices | awk '{print $1}'`mknod -m 666 /dev/nvidia-uvm c $D 0
elseexit 1
fi

重启后,再次输入以下命令,此时应该会出现 /dev/nvidia0   /dev/nvidiactl    /dev/nvidia-uvm,说明安装成功

ls /dev/nvidia*

5. 设置环境变量,写入 /etc/profile 文件

sudo vim /etc/profile

在最后加入两行(64位系统为lib64,32位系统为lib)

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

重启,检查环境变量是否设置成功

  • 验证驱动版本
cat /proc/driver/nvidia/version 
  • 验证CUDA Toolkit
# 设置环境变量后,重启生效
nvcc -V

6. 编译 cuda 提供的 samples

cd /home/xxx/NVIDIA_CUDA-10.1_Samples
make

等待一段时间,编译 成功后,二进制文件会存放在 NVIDIA_CUDA-10.1_Samples/bin 中,执行下面的二进制文件,看是否成功

cd /home/lxxx/NVIDIA_CUDA-10.1_Samples/bin/x86_64/linux/release
./deviceQuery

./bandwidthTest

若出现以下信息,则说明成功

【转】Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)相关推荐

  1. Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题)

    Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题) 参考文章: (1)Ubuntu 16.04 安装 CUDA10.1 (解决循环登陆的问题) (2)https://www.cn ...

  2. Ubuntu 16.04安装NVIDIA驱动后循环登录问题

    五月两场 | NVIDIA DLI 深度学习入门课程 5月19日/5月26日一天密集式学习  快速带你入门阅读全文> 正文共751个字,预计阅读时间5分钟. 问题描述 最近买了两块NVIDIA ...

  3. Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题)

    Ubuntu 16.04 安装 VMware Tools(解决windows和Ubuntu之间不能互相复制粘贴文件的问题) 参考文章: (1)Ubuntu 16.04 安装 VMware Tools( ...

  4. Ubuntu 16.04 安装 CUDA Toolkit 10.0

    Ubuntu 16.04 安装 CUDA Toolkit 10.0 NVIDIA 引领人工智能计算 - NVIDIA https://www.nvidia.cn/ CUDA Zone https:// ...

  5. Ubuntu 16.04 安装后修改屏幕分辨率(xrandr: Failed to get size of gamma for output default)

    ubuntu 16.04 安装后分辨率只有一个选项 1024x768,使用 xrandr 命令出现错误: xrandr: Failed to get size of gamma for output ...

  6. 16.04linux 安装微信,Ubuntu 16.04安装微信的过程记录

    微信没有出Linux的版本,但是可以通过以下方式解决: 1.使用网页版,除了没有公众号之后,一切都没问题,包括传文件等. 2.使用第三方版本,只不过这个是桌面应用,原理是通过网页API集成的,稳定性还 ...

  7. Ubuntu 16.04 安装 caffe

    Ubuntu16.04安装Caffe最全最详细教程(CPU) 由于本人电脑不支持GPU,故选择CPU安装caffe.具体查看方式:键入命令: lspci | grep -i nvidia ,若按回车之 ...

  8. Ubuntu 16.04安装MySQL(5.7.18)

    Ubuntu 16.04安装MySQL(5.7.18) 此篇为http://www.cnblogs.com/EasonJim/p/7139275.html的分支页. 安装MySQL前需要做如下了解: ...

  9. Linux ubuntu 装openCV,Linux(ubuntu 16.04) 安装 opencv C++

    Linux(ubuntu 16.04) 安装 opencv C++ Linux(ubuntu 16.04) 安装 opencv C++ 参考文档: https://blog.csdn.net/qq_3 ...

最新文章

  1. 微前端在美团外卖的实践
  2. 青蛙跳台阶问题——剑指offer
  3. 2018年自媒体人的出路在哪?
  4. runc容器逃逸漏洞最强后续:应对之策汇总与热点疑问解答
  5. SQL数据库基础知识总结(三)---对象
  6. 于python保留字的是_《于》字意思读音、组词解释及笔画数 - 新华字典 - 911查询...
  7. c语言绘制路面图形代码,道路纵断面绘图程序的开发.pdf
  8. 【转】C51中断函数的写法
  9. windows命令行快速启动软件
  10. 如何批量将class文件反编译为java文件?
  11. 一款用VBS编写的修仙风格打怪游戏
  12. 管理多个java版本,OS X中使用jEnv管理多个Java版本
  13. Python 读写文件操作: with open() as f,pickle,pmml,数据库
  14. 计算机切换用户屏幕闪,小编教您Win10切换用户后闪屏的具体办法
  15. 基于PHP的酒店住宿管理系统毕业设计源码261455
  16. 《实时控制软件设计》第二个编程作业
  17. Flash鼠绘教程:临摹徐悲鸿的骏马图
  18. Go语言核心之美 3.2-slice切片
  19. 我们问了人工智能ChatGPT十个运维问题,结果发现...
  20. 告别BIOS EFI时代来临

热门文章

  1. owncloud nginx php,nginx配置owncloud记录。
  2. 广东省2021年普通高考成绩复查结果查询,广东省2021年普通高考英语听说考试成绩可以查询啦!...
  3. 【C语言进阶深度学习记录】三十六 程序与进程的区别(程序的内存布局)
  4. 链表题目汇总(python3)
  5. 运用begin和end截取值
  6. Android项目实战(二十二):启动另一个APP or 重启本APP
  7. pagecontrol
  8. ASP.NET MVC5(一):ASP.NET MVC概览
  9. 记录:Android中StackOverflow的问题
  10. 云谊网-赴日人才社交网络