原文转自:http://blog.csdn.net/masa_fish/article/details/51882183linux
CUDA7.5和CUDA8.0的安装过程是一毛同样的。因此若是安装CUDA8.0的同窗,直接将下文中的全部7.5替换为8.0便可。ubuntu
折腾了好多天,先后重装了大概6、七次Ubuntu,终于上把CUDA安装好了,被坑了好屡次,也走了很多弯路。
第一次发帖,还请多指教。bash
【环境】
笔记本:ThinkPad T450 X86_64
显卡:主显 Intel HD Graphics 5500 ; 独显 NVIDIA GT 940M
系统环境:Ubuntu14.04 64位、Windows7 64位 双系统
CUDA 版本: 7.5
其余:Ubuntu中不存在已经安装的CUDAide
先说说本身遇到的大坑吧,安装完CUDA以后老是遇到登陆界面循环问题:输入密码后又跳回密码输入界面。尝试了网上的多种说法无解,最终发现个人问题是出在双显卡这里。最后是在官方安装文档中找到了答案。ui
问题解决方案:
在安装cuda时,会出现提示,询问你是否须要安装 openGL Libraries。若是你的电脑是双显,并且用来显示的那块GPU不是NVIDIA,则OpenGL Libraries就不该该安装,不然不是NVIDIA的那块GPU使用的OpenGL Libraries会被覆盖,而后GUI就没法工做了。 spa
关于 CUDA的安装,网上有特别多的安装帖子,我在安装的时候也参考了不少。你会发现网上不少的安装帖子,通常只作十几个操做就完事了。可是CUDA的官方安装文档却很是冗长,有四十多页,别以为它是废话,其实都是干货。.net
网上的安装帖子之因此精炼,是由于它只涵盖了必须的安装步骤,跳过了许多的检查操做(例如:检查电脑中是否已安装CUDA须要依赖的软件、是否已经卸载会与CUDA产生冲突的软件)等。若是你足够幸运,电脑里上刚好该有的有,不应有的没有,那这么作没问题,但一般状况下你并无那么走运。code
CUDA这个东西须要依赖的、牵着的东西特别多,若是没有作好检查,则在安装时候特别容易出现各类各样的冲突,且一旦冲突发生,即便卸载CUDA也不能解决问题,只能重装系统。
我最后就是参考CUDA的官方文档安装成功的。blog
1) 必定要下一份CUDA官方的安装文档,按照它的步骤一步步慢慢来,不可偷懒。
CUDA 7.5 官方安装文档下载
2) 在安装以前必定要详细检查本身的系统环境、软件是否符合CUDA的安装要求。不要存有侥幸心理,跳过检查步骤。
3) 每进行一项操做,都检查一下该项操做是否成功。图片
下面分享一下个人安装步骤。基本跟CUDA的官方安装文档的操做是一致的,不一样的地方都有特别注明。
安装CUDA主要分三大环节。
1、安装前的环境准备和检查
2、安装CUDA
3、安装完的校验。
新安装完的14.04系统会提示不少更新项。
网上有不少帖子说不建议更新,说更新事后会致使安装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的官方文档,里面有详细的针对每一个问题的解决方案。
CUDA提供两种安装方式:package manager安装和runfile安装
我原本选的是 package manager 安装,这种方法相对简单,但尝试了几回都失败。后来是转换到runfile安装才成功的。所以此处只介绍runfile安装方式。
下载cuda安装包:cuda官网下载,根据系统信息选择对应的版本,runfile安装的话最后一项要选择 runfile文件
PS: 必定要下载到英文文件夹(目录不能含中文)
a) 禁用 nouveau
终端中运行:$ lsmod | grep nouveau
,若是有输出则表明nouveau正在加载。
(1)直接移除这个驱动(备份出来)
$ mv /lib/modules/4.4.0-31-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/4.4.0-31-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org
PS: 红色部分每一个版本是不同的,能够cd过去看一下是什么版本
(2)从新加载
$ update-initramfs -u
(3)重启
设置完毕能够再次运行 $ lsmod | grep nouveau
检查是否禁用成功,若是运行后没有任何输出,则表明禁用成功。
b) 重启电脑,到达登陆界面时,alt+ctrl+f1,进入text mode,登陆帐户
c) 输入 $ sudo service lightdm stop
关闭图形化界面
d) 切换到cuda安装文件的路径,运行$ sudo sh cuda_7.5.18_linux.run
按照提示一步步操做
遇到提示是否安装openGL ,选择no(若是你的电脑跟我同样是双显,且主显是非NVIDIA的GPU须要选择no,不然能够yes)
其余都选择yes或者默认
安装成功后,会显示installed,不然会显示failed。
e) 输入 $ sudo service lightdm start
从新启动图形化界面。
Alt + ctrl +F7,返回到图形化登陆界面,输入密码登陆。
若是可以成功登陆,则表示不会遇到循环登陆的问题,基本说明CUDA的安装成功了。
f) 重启电脑。检查Device Node Verification。
检查路径/dev
下 有无存在名为nvidia*
(以nvidia开头)的多个文件(device files)
若是没有的话,能够参考官方文档里的指导步骤,进行添加。
g) 设置环境变量。
终端中输入 $ sudo gedit /etc/profile
在打开的文件末尾,添加如下两行。
export PATH=/usr/local/cuda-7.5/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda7.5/lib64
保存文件。
这里有点与官方安装文档稍有不一样,须要说明:
官方文档里说只需在终端中运行上述两条export语句便可,但若是不将它们不写入/etc/profile
文件的话,这样的环境变量在你退出终端后就消失了,不起做用了,因此写入才是永久的作法。
h) 重启电脑,检查上述的环境变量是否设置成功。
终端中输入 : $ env
在输出的环境变量中检查有无上述 g) 中设置的变量,若是有则表明设置成功。
到此为止,CUDA的安装算是告一段落了。为了保险起见,建议进行下述的检查工做,确保真正的安装成功。
a) 检查 NVIDIA Driver是否安装成功
终端输入 :$ cat /proc/driver/nvidia/version
会输出NVIDIA Driver的版本号
b) 检查 CUDA Toolkit是否安装成功
终端输入 : $ nvcc –V
会输出CUDA的版本信息
c) 尝试编译cuda提供的例子
切换到例子存放的路径,默认路径是 ~/NVIDIA_CUDA-7.5_Samples
(即 /home/xxx/ NVIDIA_CUDA-7.5_Samples
, xxx是你本身的用户名)
而后终端输入:$ make
若是出现错误的话,则会当即报错中止,不然会开始进入编译阶段。
个人第一次运行时出现了报错,提示的错误信息是系统中没有gcc
而后在终端运行 $ sudo apt-get install gcc
安装完gcc后 再make就正常了
整个编译的时间持续比较长,耐心等待,大概十几分钟是须要的。
d) 运行编译生成的二进制文件。
编译后的二进制文件 默认存放在~/NVIDIA_CUDA-7.5_Samples/bin中。
切换路径 : cd ~/NVIDIA_CUDA-7.5_Samples/bin/x86_64/linux/release
终端输入 :$ ./deviceQuery
看到相似以下图片中的显示,则表明CUDA安装且配置成功(congratulation!!)
再检查一下系统和CUDA-Capable device的链接状况
终端输入 : $ ./sandwidthTest
看到相似以下图片中的显示,则表明成功
最后祝你们都能顺利安装CUDA~~