【环境】
笔记本:联想Idealpad 700
显卡:主显 Intel HD Graphics 530 独显 NVIDIA GTX 950M
系统环境:Ubuntu14.04 64位、win10 64位 双系统
CUDA 版本: 8.0
其他:Ubuntu中不存在已经安装的CUDA
安装方式:从官网下载.run包,然后直接安装。
遇到的问题:
装完cuda之后遇到登录界面输入密码进不去,一直循环在输密码的界面,经查找原来是笔记本双显卡的原因。
问题解决方案:
在安装cuda时,会出现提示,询问你是否需要安装 openGL Libraries。如果你的电脑是双显,而且用来显示的那块GPU不是NVIDIA,则OpenGL Libraries就不应该安装,否则不是NVIDIA的那块GPU使用的OpenGL Libraries会被覆盖,然后GUI就无法工作了。
那么如何查看自己的电脑是否是双显卡呢?打开设备管理器,点击显示适配器如果出现两个选项就说明你的电脑是双显卡,那么你就要用下面的方式安装cuda8.0.
安装前的准备工作:
检查自己的电脑环境是否具备安装CUDA的条件(参照官方文档)
a) 检查自己的GPU是否是CUDA-capable
在终端中输入: $ lspci | grep -i nvidia
,会显示自己的NVIDIA GPU版本信息
去CUDA的官网查看自己的GPU版本是否在CUDA的支持列表中
b) 检查自己的Linux版本是否支持 CUDA(Ubuntu 14.04没问题)
c) 检查自己的系统中是否装了gcc
在终端中输入: $gcc –version
可以查看自己的gcc版本信息
d) 检查是否安装了kernel header和 package development
在终端中输入: $uname –r
可以查看自己的kernel版本信息
在终端中输入:$ sudo apt-get install linux-headers-$(uname -r)
可以安装对应kernel版本的kernel header和package development
以上检查我的电脑系统都满足要求,如果没有满足要求的话,可以参考cuda的官方文档,里面有详细的针对每个问题的解决方案。
runfile安装cuda
a) 禁用 nouveau
终端中运行:$ lsmod | grep nouveau
,如果有输出则代表nouveau正在加载。
Ubuntu的nouveau禁用方法:
在/etc/modprobe.d
中创建文件blacklist-nouveau.conf
,在文件中输入一下内容
blacklist nouveau
options nouveau modeset=0
打开终端,运行
$ sudo update-initramfs –u
设置完毕可以再次运行 $ lsmod | grep nouveau
检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。如果还是有输出,请重启电脑,再运行一遍lsmod | grep nouveau就不会有输出了。
b) 重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户
c) 输入 $ sudo service lightdm stop
关闭图形化界面
d) 切换到cuda安装文件的路径,运行$ sudo sh cuda_8.0.run(.run包的名字是自己改过的)
按照提示一步步操作
遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU需要选择no,否则可以yes)
其他都选择yes或者默认
安装成功后,会显示installed,否则会显示failed。
e) 输入 $ sudo service lightdm start
重新启动图形化界面。
Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了
最新的问题:在实验室的1080ti的显卡上同样的方式安装cuda发现驱动没有装上去,不知道什么原因只能采取pip install的方式手动安装。(原因已经找到,是因为下载的.run的包不是最新的所以里面的驱动也不是最新的,所以装不上去。)