前言(废话)
又到了tensorflow升级的时候,cuda跟cudnn也都需要升级。但是呢,事物一定是向前发展的,版本升级,功能当然是越来越好啦。cuda + cudnn 的安装当然也是越来越方便啦。
正文
1. cuda9的安装
去官网下好cuda的repo包
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
获取key
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
更新apt安装源
sudo apt-get update
安装cuda
sudo apt-get install cuda-9-0
PS:安装cuda10.0把上面的cuda-9-0替换为cuda-10-0即可, sudo apt-get install cuda则是安装最新的cuda版本哟。
2. cudnn的安装
下载cudnn的安装包。
sudo dpkg -i libcudnn7_7.0.5.15-1+cuda9.0_amd64.deb
3.其他问题
(1)libcu**.o is not a symbol link
出现这个的原因是因为cuda/cudnn中很多.o文件不是link文件,而是**.0.version的复制重命名。
解决方法,重建link文件:
比如 libcupti.so is not a symbol link file.
我们重建link文件:
sudo rm libcupti.so libcupti.so.8.0
sudo ln -s libcupti.so.8.0.61 libcupti.so.8.0
sudo ln -s libcupti.so.8.0 libcupti.so
(2)cudnn.o文件找不到
这个原因是在7.0版本以上,cudnn不再像以前一样放在cuda文件夹下,而是单独的目录。可以
sudo cp /usr/lib/x86_64-linux-gnu/libcudnn.s* /usr/local/cuda/lib64/
PS:前提是/usr/local/cuda文件夹是link的/usr/local/cuda-9.0文件夹哈。
(3)cuda9.0切换回cuda8.0版本
准备工作(只需做一次):
cd /etc/ld.so.conf.d
vi /cuda-9-0.conf
将cuda-9-0替换为cuda,同目录下(/etc/ld.so.conf.d)有其他cuda*.conf,也要注意,里面最好link /usr/local/cuda,方便后面的切换。
开始切换:
cd /usr/local
sudo rm ./cuda
sudo ln -s ./cuda-8-0 cuda
sudo ldconfig -v | grep cu
搞定,切回9.0同理。