最近学习Tensorflow时,突然想安装cuda来试试GPU的加速效果。一鼓作气将系统整个重新安装为Ubuntu 14.04,然后按照网上教程尝试安装Cuda 8.0;系统显卡是Nvidia的,然而安装之后总是在登录界面循环,或者进去之后桌面一片空白,即没有任务栏也没有标题栏;如此反复重装系统,重装Cuda接近10遍,中途放弃过但是感觉心有不甘,就去查看官方文档,链接:http://developer.download.nvidia.com/compute/cuda/6_5/rel/docs/CUDA_Getting_Started_Linux.pdf;由于阅读比较困难加上内心郁闷,速度比较慢,就是希望可以能够装好;现在和大家分享一下最后成功的关键点,也许是个案,但希望对类似情况的你有所帮助。
首先说一下基本步骤:
1、安装ubuntu14.04
2、配置一下网络,使得ubuntu能够连接Internet
3、下载runfile[local]的cuda安装文件
(在其它电脑上预先下载);注意不是deb文件,笔者安装deb文件没有成功,可能是因为某些设置的原因,具体可以参考官方安装文档;
官网链接:https://developer.nvidia.com/cuda-downloads

选择合适的版本,在这里文件大概1.4G大小。
4、其它的依赖说明
cuda 驱动包括 Nvidia 驱动,Toolkit 和 samples,所以在这之前可以不安装Nvidia 驱动;Ubuntu 14.04系统预装了GCC4.8,默认就行;
官方安装文档中提到,需要安装完整的samples示例,需要安装一些依赖,具体就是执行下面命令
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
5、禁掉nouveau
打开终端,输入$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf,输入
blacklist nouveau options nouveau modset=0
保存退出,执行$ sudo update-initramfs -u,禁用结束。执行检查决定是否需要重启电脑。
输入$ sudo lspci | grep nouveau,如果没有内容,则禁用成功,不需要重启;否则需要重启然后再检查,一定要确保nouveau被禁用。
这是因为Nouveau驱动可能已经安装在你的根目录文件下,它可能导致cuda的显卡驱动安装失败。
6、关闭GUI
就是关掉X server;在这之前,需要将下载好的.run文件放在一个非中文文件夹下面;
按下ctrl+alt+f1,然后登录管理员账号,输入命令$ sudo service lightdm stop
7、更改run文件执行权限
$ sudo chmod +x cuda_8.0.61_375.26_linux.run
8、执行CUDA安装文件
(注意:如果有集成显卡,需要加上--no-opengl-libs参数,笔者电脑上确实为有集成显卡,可以用命令$sudo lspci | grep -i vga查看;一般都有)

笔者没有安装成功,这里就是关键点,注意加上--no-opengl-libs参数,就是不安装openGL,不然登录不进去;安装过程中xcog.conf切记不要更新,看到这个选择时键入n,默认为n。
笔者的命令:$sudo ~/cuda_8.0.61_375.26_linux.run --no-opengl-libs
然后出现的是安装前须知,一直按着回车,最后100%后键入accept。接着才是安装过程,注意上面加红的选择,其他的都可以默认,这是能否成功的关键。
9、切换回GUI
$ sudo service lightdm start
正常操作应该可以登录进去了,恭喜你,暂时没有什么问题。
如果没有进去,可以重装系统然后按照官方安装文档一步步来,也可以安装官方文档卸载了重装,不一定需要重装系统。
10、配置环境变量
输入$ sudo gedit /etc/profile,打开 gedit ,最后两行输入
export PATH=/usr/local/cuda-8.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
保存退出,环境变量配置完成,运行命令$ source /etc/profile使环境变量生效。
11、测试一下cuda的一些sample
cd到cuda sample的路径,默认是用户账号目录下的NVIDIA_CUDA-8.0_Samples,cd进入文件夹,make一下;
$ make -j8
提示:如果没有make命令,可以使用apt-get install进行安装。
之后生成了一个bin,在一路cd进去,直到有个目录有很多程序文件。运行
$ ./deviceQuery
如果看到一大串正常的状态显示,就证明cuda装好了,例如输出 Pass 等信息,则说明成功安装。
笔者犯得错误就是第8步,集成显卡不要安装openGL,加上参数--no-opengl-libs
Ubuntu上安装Cuda时踩过的坑