安装ubuntu16.04+cuda8.0+cudnn5.1
文章参考来之:http://blog.****.net/zhongshijunacm/article/details/52824894
本文只是为了本人自己下次安装有的参考,所做的记录。所以,大部分内容来自上面的参考博客(这只是个人为了下次方便,由于设计版权问题,所以建议大家还是去回原作者那里阅读。如果,遇到什么问题可以在借鉴本博客的方法!)。在结合自己机子遇到的情况加以修改!
1、安装nvidia驱动
首先去官网上查看适合你GPU的驱动(http://www.nvidia.com/Download/index.aspx?lang=en-us)例如,本人的GPU适合的驱动如图:
执行如下语句:
- sudo add-apt-repository ppa:graphics-drivers/ppa
- sudo apt-get update
- sudo apt-get install nvidia-367
- sudo apt-get install mesa-common-dev
- sudo apt-get install freeglut3-dev
原文是用下载文件安装的。但是这样可能会出现进不了图形化界面!所以,我选择了用ubuntu16.04图形化下自带的nvidia-367驱动。
操作如下:
system settings--->system下:Software&Updates--->更改下载源(下载软件加速效果)Download from: 改为aliyun--->Additional Drivers(从上面的查看中适合自己的版本,选择nvidia版本越高越好!)
执行完上述后,重启(reboot)。
重启后输入:
- nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。另外也可以通过
- nvidia-settings
查看自己机器上详细的GPU信息,本人机器的信息如下:
2、安装CUDAcuda是nvidia的编程语言平台,想使用GPU就必须要使用cuda
从这里下载cuda的安装文件
https://developer.nvidia.com/cuda-release-candidate-download
我下载的是deb文件。
- sudo dpkg -i xxxxxx.deb(下载的文件名)
- sudo apt-get update
- sudo apt-get install cuda
这里是nvidia给出的官方安装指南(遇到问题时可以查阅):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt
- 安装完成后写入路径:
- sudo gedit /etc/profile
- #最后添加
- 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}}
- source /etc/profile
3、测试cuda的Samples
- cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
- make
- sudo ./deviceQuery
如果显示的是一些关于GPU的信息,则说明安装成功了。(最后显示是PASS不是Faile!)
首先去官网下载你需要的cudnn,下载的时候需要注册账号。选择对应你cuda版本的cudnn下载。这里我下载的是cudnn5.1,是个压缩文件(.tgz)
下载完cudnn5.0之后进行解压,cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作
- sudo cp cudnn.h /usr/local/cuda/include/ #复制头文件
再将cd进入lib64目录下的动态文件进行复制和链接
- sudo cp lib* /usr/local/cuda/lib64/ #复制动态链接库
- cd /usr/local/cuda/lib64/
- sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
- sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成软衔接
- sudo ln -s libcudnn.so.5 libcudnn.so #生成软链接
- sudo ldconfig #更新链接,不然编译caffe会出现找不到cudnn的文件路径错误!
当执行ldconfig出现 libEGL.so.1 is not a symbolic link的解决方法是重新链接它的目标
- #备份旧的软连接(可以不做)
- sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.org
- sudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.org
- #重建新的软连接
- sudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1
- sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
附降低gcc版本到5.0以下
- sudo apt-get install g++-4.9
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
- sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
- sudo update-alternatives --set cc /usr/bin/gcc
- sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
- sudo update-alternatives --set c++ /usr/bin/g++