Centos cudnn版本升级

@

用Centos服务器运行代码时,代码报错CuDnn版本不够,我的版本是7.5.1,但是代码的要求是基于7.6.0的CuDnn版本,所以就卸载了旧版本,安装了7.6.0的CuDnn。我的Cuda是10.0.130,升级完以后tensorflow可以正常使用。

下载新版本

cudnn下载链接:
https://developer.nvidia.com/rdp/cudnn-archive
Centos cudnn版本升级
选定版本点进去有针对不同系统的软件包,最开始我是下载的针对Centos的rpm包,但是没有安装成功,个人感觉这个有点麻烦,还是下.tgz包方便一点。下载需要注册一个nvidia帐号,最后通过邮箱**,很快。那个cuDNN Library for Linux就是.tgz包的下载链接
Centos cudnn版本升级
你会得到一个类似这样的文件,你可以手动把后缀改成.tgz,改成cudnn-10.0-linux-x64-v7.6.0.64.tgz,然后用如下命令解压
tar -zxvf cudnn-10.0-linux-x64-v7.6.0.64.tgz
解压后是一个名为cuda的文件夹,文件夹中有include和lib64两个文件夹。

删除旧版本

Centos cudnn版本升级
我的文件夹是这样的,注意到cuda-10.0的include文件夹也有cudnn.h,所以我把这两个文件夹都执行了以下的操作。
sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
sudo rm -rf /usr/local/cuda-10.0/include/cudnn.h
sudo rm -rf /usr/local/cuda-10.0/lib64/libcudnn*

安装新版本

cd进刚解压的cuda文件夹
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/lib* /usr/local/cuda/lib64/

建立软连接

cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.6.0
sudo ln -sf libcudnn.so.7.6.0 libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig

测试查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Centos cudnn版本升级
升级成功