ubuntu14.04安装NVIDIA显卡驱动+CUDA8.0+CuDNN5.1
个人安装经验,仅供参考。安装过程参考了这篇文章和Abhijeet Kislay的博文
1. 重装Nvidia显卡驱动
- 安装包准备:首先在NVIDIA驱动官网下载适配的显卡驱动
.run文件,在CUDA官网下载CUDA Toolkit 8.0的.run文件 - 卸载原本的NVIDA显卡驱动
$ sudo nvidia-uninstall
若原本显卡驱动的安装文件.run还能找到,可以用以下方法卸载
$ sudo ./NVIDIA-linux-x86_64-375.26.run --uninstall
也有人提到可以用purge卸载,但在实际操作中不知道为何,并没有卸载干净,容易遇到The distribution-provided pre-install sript failed!的问题
$ sudo apt-get --purge remove nvidia-*
- 删除xorg.conf文件
$ sudo rm /etc/X11/xorg.conf
- 若以前安装过NVIDIA显驱应该执行过这一步,若没有则需要disable原本的显驱nouveau,创建
/etc/modprobe.d/blacklist-nouveau.conf文件,输入以下两行内容
blacklist nouveau
options nouveau modest=0
然后在terminal执行以下命令
$ sudo update-initramfs -u
- 重启电脑,登入图形界面后按
Ctrl + Alt + F1进入字符界面,并关闭图形界面
$ sudo service lightdm stop
- 安装NVIDIA显卡驱动,此处不需要多此一举
--no-opengl-files,否则会遇到到opengl使用预装显卡Gllim的情况
$ sudo chmod 755 NVIDIA-Linux-x86_64-375.26.run //获取权限
$ sudo ./NVIDIA-Linux-x86_64-375.26.run
- 按提示Accept–>Continue installation,安装完成之后开启图形界面
$ sudo service lightdm start
2. 安装CUD8.0
可以在继续在字符界面安装CUDA,也可以按Ctrl + Alt + F7返回图形界面用terminal安装。在显卡安装过程中可能出现各种问题,相较而言CUDA安装过程比较简单。
- 在terminal运行命令,进入cuda
.run文件所在地址
$ sudo ./cuda_8.0.27_linux.run
-
出现user license agreement, 可以按
Q键跳过,接下来是一系列的选项,若此前没有自己安装NVIDIA显卡驱动,是可以在CUDA安装过程中自动安装的,过程中会提示是否安装OpenGL,建议选择安装,否则可能出现OpenGL没有使用NVIDIA显卡渲染的情况
- Do you accept the previously read EULA?
accept/decline/quit: accept
- Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: n
- Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y
- Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: Enter
- Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
- Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: n -
在
~/.bashrc中设置环境变量,首先打开该文件
$ sudo gedit ~/.bashrc
在文件末尾添加
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
使文件生效,在终端输入命令
$ source ~/.bashrc
- 检查安装的显卡驱动版本
$ cat /porc/driver/nvidia/version
- 检查安装的CUDA版本
nvcc -v
3. 安装CuDNN5.1
-
下载的
cudnn-8.0-linux-x64-v5.1.tgz解压后得到cuda文件夹,下面有include/cudnn.h,以及lib64文件夹下的libcudnn.so、libcudnn.so.5、libcudnn.so.5.1.10和libcudnn_static.a四个文件 -
这三个.so文件大小都一样,可以看出libcudnn.so和libcudnn.so.5都是软链接,其中libcudnn.so链接到libcudnn.so.5,libcudnn.so.5链接到libcudnn.so.5.1.10,所以真正的文件就是libcudnn.so.5.1.10
-
在安装CUDA时,对于默认的
/usr/local/cuda-8.0文件,在同一地址下创建了cuda文件夹作为软链接,因此这两个文件夹可以看成一个,修改任意一个文件夹中的文件,另一个文件夹都会作相应的修改 -
把cudnn.h拷到本地对应位置
$ cd Downloads/cuda
sudo cp include/cudnn.h /usr/local/cuda/include/
- 把lib64下的文件拷到本地对应位置
$ cd Downloads/cuda
sudo cp lib64/* /usr/local/cuda/lib64/
- 创建软连接
$ cd /usr/local/cuda/lib64
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
