Ubuntu 14.04下安装CUDA8.0
配置环境如下:
系统:Ubuntu14.04 64bit
显卡:Nvidia K620M
显卡驱动:Nvidia-Linux-x86_64-375.66.run
CUDA8.0 + cudnn8.0-linux-x64-v6.0
初次安装时,我们采用runfile安装cuda,并且直接使用了cuda toolkit中的cuda driver,结果安装后出现循环登录的问题。最后摸索出先单独安装cuda driver,然后在安装cuda toolkit中的剩余部分。
1 检查自己的电脑环境是否具备安装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
2 单独安装cuda driver
去官网找到适配自己GPU型号的驱动,我的K620M对应的驱动版本为:Nvidia-Linux-x86_64-375.66.run。
a) 使用Ctrl-Alt+F1进入命令界面
b)赋予run文件执行权限
sudo chmod a+x NVIDIA-Linux-x86_64-375.66.run
c)安装
sudo ./NVIDIA-Linux-x86_64-375.66.run –no-x-check –no-nouveau-check –no-opengl-files
- –no-x-check 安装驱动时关闭X服务
- –no-nouveau-check 安装驱动时禁用nouveau
- –no-opengl-files 只安装驱动文件,不安装OpenGL文件
3 安装CUDA toolkit 8.0
a) 禁用 nouveau
终端中运行:$ lsmod | grep nouveau
,如果有输出则代表nouveau正在加载。
在/etc/modprobe.d
中创建文件blacklist-nouveau.conf
,在文件中输入一下内容
blacklist nouveau options nouveau modeset=0
打开终端,运行
sudo update-initramfs –u
设置完毕可以再次运行 $ lsmod | grep nouveau
检查是否禁用成功,如果运行后没有任何输出,则代表禁用成功。
b) 重启电脑,到达登录界面时,alt+ctrl+f1,进入text mode,登录账户
c) 输入 $ sudo service lightdm stop
关闭图形化界面
d) 切换到cuda安装文件的路径,运行$ sudo sh cuda_8.0.61_375.26_linux.run --no-opengl-libs
按照提示一步步操作,遇到提示是否安装openGL ,选择no(如果你的电脑跟我一样是双显,且主显是非NVIDIA的GPU需要选择no,否则可以yes)
其他都选择yes或者默认(显卡driver 之前已经单独安装,所以driver安装对应项也选no)
安装成功后,会显示installed,否则会显示failed。
e) 输入 $ sudo service lightdm start
重新启动图形化界面。
Alt + ctrl +F7,返回到图形化登录界面,输入密码登录。
如果能够成功登录,则表示不会遇到循环登录的问题,基本说明CUDA的安装成功了。
g) 设置环境变量。
终端中输入 $ sudo gedit /etc/profile
在打开的文件末尾,添加以下两行:
$ export PATH=/usr/local/cuda-8.0/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64
保存文件。
参考文档:
[1] http://blog.csdn.net/wkk15903468980/article/details/56489704
[2] http://blog.csdn.net/masa_fish/article/details/51882183