本文主要总结了我在笔记本电脑上安装cuda8.0的过程和经验。内容参考了博客
http://blog.csdn.net/victoryaoyu/article/details/70034569,
http://blog.csdn.net/sikao_luwei/article/details/69375126
并加入了一些补充。
配置清单
- 硬件:戴尔笔记本(GTX1050 ti +intel集显)
- 系统:Ubuntu1 16.04.01 64位
常见安装方法: .run包(本地)、.deb包(本地)、deb(在线)、集群(本地)。
建议:采用第一种方式。.run包里已经包含了显卡驱动、cuda tools、samples例子程序。理论上,在进行好相关配置后,直接运行.run包,选择安装模块(驱动、cuda tools、samples)和分别给定路径(cuda tools及samples),虔诚地等待完成就行了。然而,实际上会遇到各种各样的问题,特别是显卡驱动安装很容易出错。
所以本文选择的大致安装流程: 预安装 –> 显卡驱动安装 –> cuda安装 –> 验证安装
1. 预安装
可参考官方教程:http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#axzz4dqv9aEUn
1.1 验证GPU是否支持CUDA(有显示即可)
$ lspci | grep -i nvidia
1.2 验证linux支持,例:x86_64…
$ uname -m && cat /etc/*release
1.3 验证gcc,例:gcc version 5.4.0 20160609
$ gcc --version
1.4 验证系统已经安装了正确的 Kernel Headers和Development Packages
$ uname -r
$sudo apt-get install linux-headers-$(uname -r)
1.5 下载nvidia驱动(找对自己的版本)
驱动下载地址:http://www.geforce.cn/drivers
1.6 下载cuda工具包(linux, x86_64, ubuntu, 16.04, runfile(local))
cuda下载地址:https://developer.nvidia.com/cuda-downloads
特别说明:如果手头上的是新笔记本,特别是新主板的机子,需要进入BIOS中关闭secure boot选项,显卡驱动方能顺利安装。(当你出现显卡驱动死活安装不上,或安装了进不去图形界面时,应当注意是否为此问题引起)
2.nvidia驱动安装
2.1 拉黑自带驱动
创建文件: /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
重新生成 kernel initramfs,为保证禁用成功,重启系统。
$ sudo update-initramfs -u
2.2 安装nvidia驱动
Ctrl+Alt+F1进入命令行,关闭X servers
[plain] view plain copy
- sudo systemctl stop lightdm
开始安装NVIDIA驱动,此步可以忽略而使用CUDA自带的驱动。区别就是CUDA安装的没有提示可能会安装失败
安装提示基本是选肯定的,提示nvidia-xconfig时如果你的电脑还存在一个核显或者集显就选择不安装,反之选择安装
安装完毕后,重启,进入图形界面
$ sudo init 3 #进入runlevel 3
$ lsmod | grep nouveau #验证是否停用Nouveau,应无显示
$ chmox +x ~/download/NVIDIA-Linux-x86_64-381.09.run
$ sudo ~/download/NVIDIA-Linux-x86_64-381.09.run--no-opengl-files
一路根据提示安装就行了,如果出现错误,可以用sudo ~/download/NVIDIA-Linux-x86_64-381.09.run --uninstall
进行卸载。
安装好了,重启进入桌面。然后输入:nvidia -smi
进行查看显卡版本信息。如果你登录不进去桌面,就需要卸载驱动,尝试其他版本的驱动,或者通过其他方式安装驱动。例如:通过软件和更新,或 apt-get方式(网络上方法很多)。最终能在图形界面上查看显卡版本驱动信息就行。
或者,利用系统推荐安装NVidia驱动。
1)更新系统的驱动。
系统设置-》软件和更新-》附加驱动-》更新nvidia和intel
假如更新驱动出现了循环登录系统的问题,请先卸载驱动,然后使用带驱动的安装方法来解决问题(万能药)。
此时驱动的卸载方法:由于登陆进入不到图形用户界面(GUI),但我们可以进入到文本用户界面(TUI)
在登陆界面状态下,按Ctrl + Alt + f1,进入TUI执行
sudo /usr/bin/nvidia-uninstall
然后重启
sudo reboot
3. cuda8.0 tools安装
重新启动,Ctrl+Alt+F1进入命令行,关闭X servers
[plain] view plain copy
- sudo systemctl stop lightdm
$ chmox 777 ~/download/cuda_8.0.61_375.26_linux.run
$ sudo ~/download/cuda_8.0.61_375.26_linux.run
看完文档后,按照提示,除了显卡驱动不需要安装,其他都安装和指定制定路径(默认就好)。如果安装失败,可以通过sudo ~/download/cuda_8.0.61_375.26_linux.run --uninstall
进行卸载。
4. 验证安装
添加环境变量: 此处cuda的文件夹中所有内容是cuda-8.0文件的链接,一般情况下很多软件的安装都默认cuda。
$ export PATH=/usr/local/cuda/bin:$PATH #编辑/etc/profile,在最后添加
$ export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH
$ cat /proc/driver/nvidia/version #查看驱动版本
$ nvcc -V #检查cuda tools版本 $ cd ~/NVIDIA_CUDA-8.0_Samples $ make #编译samples
$ cd bin/x84_64/linux/release$ ./deviceQuery #运行
5.安装cudnn:
上官网下载对应的cudnn
https://developer.nvidia.com/cudnn
下载完cudnn后,解压cudnn到/home/tool/中。
cd进入cudnn解压之后的include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件#如果你环境变量添加的是cuda-8.0还需执行下面操作
sudo cp cudnn.h /usr/local/cuda-8.0/include/
#复制头文件到cuda-8.0和cuda, cuda是cuda-8.0的软链接,而~/.bashrc中添加的是cuda-8.0的环境,因此需要在cuda-8.0和cuda都添加cudnn文件
再cd进入lib64目录下的动态文件进行复制和链接:(5.1.5为对应版本具体可修改)
sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
sudo cp lib* /usr/local/cuda-8.0/lib64/ #复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
#如果你环境变量添加的是cuda-8.0还需执行下面操作
cd /usr/local/cuda-8.0/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5 #生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
最后想说的是,安装方法很多,不过都是要定下心来看一下official documentation。