ubuntu16.04 安装NVIDIA和CUDA9.2 cudNN7.1
1.安装NVIDIA驱动
重复登录的问题是因为NVIDIA驱动版本和linux内核版本不匹配导致的,因为linux内核一直在更新,更新后可能不匹配。
所以安装系统后选择不更新,也有命令,可以更新内核版本使得nvidia匹配。
(1)查询NVIDIA驱动
首先去官网(http://www.nvidia.com/Download/index.aspx?lang=en-us)查看适合自己显卡的驱动(下载runfile文件):
2)安装驱动
先按Ctrl + Alt + F1到控制台,关闭当前图形环境
$sudo service lightdm stop
卸载可能存在的旧版本 nvidia 驱动
sudo apt-get remove --purge nvidia*
安装驱动可能需要的依赖
$sudo apt-get update
$sudo apt-get install dkms build-essential linux-headers-generic
把 nouveau 驱动加入黑名单并禁用用 nouveau 内核模块(如果新重装的系统,没有驱动起作用,忽略)
sudo nano /etc/modprobe.d/blacklist-nouveau.conf 在文件 blacklist-nouveau.conf 中加入如下内容: blacklist nouveau options nouveau modeset=0 保存退出,执行 sudo update-initramfs -u
ctrl+O保存。然后回车 ctrl+X 退出
reboot重启
若/boot空间不足
uname -a 查看目前在用的内核版本 dpkg --get-selections|grep linux-image 显示所有的内核版本 sudo apt remove linux-image-XXXX-generic 卸载旧内核,注意只保留最新的 两个 版本 sudo apt autoremove 清理无用的依赖
运行驱动安装文件
重启后再次进入字符终端界面(Ctrl + Alt + F1),并关闭图形界面
$sudo service lightdm stop
安装驱动
$sudo chmod u+x NVIDIA-Linux-x86_64-361.45.11.run $sudo ./NVIDIA-Linux-x86_64-361.45.11.run(sudo ./NVIDIA-Linux-x86_64-375.20.run –no-opengl-files)
或 sudo ./NVIDIA-Linux-x86_64-375.20.run –no-x-check –no-nouveau-check –no-opengl-files
kenel 不装选NO; X-config Yes
最后重新启动图形环境
$sudo service lightdm start
可以通过以下命令确认驱动是否正确安装
$cat /proc/driver/nvidia/version
2.安装cuda8.0
9.0的时候用runfile没有安装成功,用安装包装的,ok了。安装包本地:
`sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.88-1_amd64.deb` `sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub` `sudo apt-get update` `sudo apt-get install cuda`
可能出现 Driver/library version mismatch 的问题,重启,或者按照此方法。
需要进入安全模式安装(lightdm),在安装cuda时是可以自动安装NVIDIA驱动的,但是这样安装的驱动版本较低,且可能有问题,所以需要先安装NVIDIA驱动,在安装CUDA时选择不安装驱动。
切换到cuda_8.0.44_linux.run
的目录,执行
$ sudo sh cuda_8.0.44_linux.run
!Note:安装的时候,要让你先看一堆文字(EULA),我们直接不停的按空格键到100%,或者Ctrl+C跳过;
遇到提示是否安装nvidia ,选择no,其他的可以一路accept, yes或回车,可以选择安装Sample,用以验证。
登录时能进入桌面,不会一直在重复登录,成功已近大半。曾经遇到过这样的情况,不过后来重装了系统,没有禁OpenGL也可以,这个有一定概率。
!Note:如果出现重复登陆情况,请卸载cuda,然后重装。
原因:是OpenGL与NVIDIA发生了什么什么的。
卸载:由于登陆进入不到图形用户界面(GUI),但我们可以进入到文本用户界面(TUI)(TUI很酷有没有?)
在登陆界面时,按Ctrl + Alt + f1,进入TUI
一定要按照这种方式卸载,不然装不上去
执行
$ sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
$ sudo /usr/bin/nvidia-uninstall
然后重启
$ sudo reboot
重新安装.run(安装时请留眼,在提示是否安装OpenGL时,应该选no)
据说这是防止重复登录的方法:问题解决:进入bios之后,关闭secure boot即可。(也有资料说需要关fast boot的,但是笔者懒得关了,也没问题)
具体地,惠普的台式机,进入bios之后是中文的,造成了一定的阅读障碍。在安全里面,然后有个安全启动相关的菜单。进去之后立刻有一个全红的警示页面,也只是警示,看懂了进去就可以了。
配置环境,在主文件夹中打开.bashrc:
gedit ./.bashrc
末尾加入一下路径,保存关闭
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
安装运行实例程序的相关依赖项:
$ sudo apt-get install g++ freeglut3-dev build-essential libx11-dev \
libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev
运行样例程序
$ cd ~/NVIDIA_CUDA-8.0_Samples/5_Simulations/nbody
$ make
$ ./nbody
如果没有装opengl 那个这个nbody运行不了,可以运行第一个,用nvcc -V来查看是否装好了。
安装完毕,可以愉快的使用了。
安装CudNN
下在对应的版本(cudnn-9.2-linux-x64-v7.1)按照官网教程,解压复制:
$ tar -xzvf cudnn-9.0-linux-x64-v7.tgz $ sudo cp cuda/include/cudnn.h /usr/local/cuda/include $ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 $ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*