ubuntu 14.04安装cuda
说明:nvidia的cuda对于新手来说安装是挺费劲的,一不小心就出现登录死循环或者各种冲突。最近学习tensorflow,进行显卡的支持,遇到必须装上它,摸索了2天,重装4次软件,重装系统1次,最后终于成功安装,期间主要遇到的拦路虎是安装成功后出现登录死循环。下面是我的安装步骤。强调官方的文档(NVIDIA官方文档)帮助很大,但是缺少细节。虚拟机不执行cuda
安装环境
OS: Ubuntu 14.04
ARCH: X86_64
GPU: nvidia Geforce gt 550m
-
安装前检查
-
检查显卡是否被支持
$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 550M] (rev a1)
$uname -m && cat /etc/*release
x86_64
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"
NAME="Ubuntu"
VERSION="14.04.4 LTS,Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.4 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
-
检查是否安装gcc
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
Copyright (C) 2013 Free Software Foundation,Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -
检查是否安装了内核的头文件和开发包,按照下面的方式安装,输出太长,略
$ sudo apt-get install linux-headers-$(uname -r) -
选择runfile安装
我们使用runfile文件安装,建议不要用deb安装,否则会出现各种冲突错误。下面的步骤请一定小心。浏览器下载runfile文件,地址 选择你自己的版本下载,大概有1.4G左右,也可以用下面的命令下载
$wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run ;;下载cuda runfile文件
$lsmod | grep nouveau ;;查看系统自带的驱动是否禁用,如果有输出,说明没有禁用
nouveau 1368064 1
ttm 94208 1 nouveau
drm_kms_helper 126976 2 i915,nouveau
drm 360448 9 ttm,i915,drm_kms_helper,nouveau
i2c_algo_bit 16384 2 i915,nouveau
mxm_wmi 16384 1 nouveau
wmi 20480 2 mxm_wmi,nouveau
video 36864 3 i915,ideapad_laptop,nouveau
$vi /etc/modprobe.d/blacklist-nouveau.conf ;;新建一个文件,内容如下
blacklist nouveau
options nouveau modeset=0$sudo update-initramfs -u
$cd /lib/modules/4.2.0-27-generic/kernel/drivers/gpu/drm/nouveau ;;将里面的nouveau.ko nouveau.ko.org(可能没有)移除(注意备份)
$sudo update-initramfs -u
$sudo reboot
启动到登录界面时,Ctrl+Alt+F1进入纯文本模式,输入用户名和密码登录
$lsmod | grep nouveau ;;再次确认是否禁用成功
$sudo service lightdm stop ;;关闭图形界面
$cd /home/xzy/ ;;进入存放下载好的runfile文件的地方
$sudo sh cuda_8.0.61_375.26_linux.run ;;执行安装
安装过程中,先会让你阅读协议,按q,输入accept,接下来会让你选择性的安装,除了OpenGL选no (许多博客都说什么openGL要选yes,但经过我的实践,在cuda 8.0这项必须选择no,不然安装结束后会进入登录死循环),其余全部选yes,涉及路径的默认回车。安装结束后,开启图形界面服务,Ctrl+Alt+F7切换到登录界面
$sudo service lightdm start ;;启动图形界面服务
接下来,登录界面输入密码
-
如果成功,检查安装
$sudo apt-get install mesa-utils ;;检查驱动的软件包
$glxinfo | grep rendering
direct rendering: Yes ;;说明驱动成功安装
$vi ~/.bashrc ;;修改环境变量,加入
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH$source ~/.bashrc
$nvcc -V ;;检查cuda是否安装成功,你也可以编译官方给的例子来检验,由于时间关系,编译例子省略。
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools,release 8.0,V8.0.61
登录成功之后,你会发现屏幕的分辨率不正常了,系统设置里也没法正常设置,按下面的操作就可以解决了
退出图形界面,按ctrl+alt+F1进入命令行终端。
$sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
$sudo touch /etc/X11/xorg.conf
$sudo reboot
-
如果失败,卸载cuda
不然就会出现登录死循环。如果你不幸进入登录死循环或者其他错误,你需要卸载重装cuda的,可以使用下面的命令来卸载,并分析出错的原因,再重装
$sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl ;;卸载cuda toolkit ,X.Y为你安装的cuda版本
$sudo /usr/bin/nvidia-uninstal ;;卸载驱动
$vi /home/xzy/.xsession-errors ;;这里面有发生错误时候的信息,检查是否有帮助
-
参考文献
cuda官方文档 http://developer.download.nvidia.com/compute/cuda/7.5/Prod/docs/sidebar/CUDA_Installation_Guide_Linux.pdf
cuda详细安装教程http://blog.csdn.net/masa_fish/article/details/51882183