CuDNN是专门针对Deep Learning框架设计的一套GPU计算加速方案,目前支持的DL库包括Caffe,ConvNet, Torch7等。
CuDNN可以在官网免费获得,注册帐号后即可下载。官网没有找到安装说明,下载得到的压缩包内也没有Readme. 不过google一下就会找到许多说明。基本原理是把lib文件加入到系统能找到的lib文件夹里, 把头文件加到系统能找到的include文件夹里就可以。这里把他们加到CUDA的文件夹下(参考这里)
tar -xzvf cudnn-6.5-linux-R1.tgz
cd cudnn-6.5-linux-R1
sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/
执行后发现还是找不到库, 报错
error while loading shared libraries: libcudnn.so.6.5: cannot open shared object file: No such file or directory
而lib文件夹是在系统路径里的,用ls -al发现是文件权限的问题,因此用下述命令先删除软连接
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.6.5
然后修改文件权限,并创建新的软连接
sudo chmod u=rwx,g=rx,o=rx libcudnn.so.6.5.18
sudo ln -s libcudnn.so.6.5.18 libcudnn.so.6.5
sudo ln -s libcudnn.so.6.5 libcudnn.so
下载cudnn的安装文件cudnn-7.0-win-x64-v3.0-prod.zip
将文件解压,例如解压到C:\cuda\,注意这里的路径不要出现中文及符号。
解压后有三个子目录:bin,include,lib。
bin目录(例如 C:\cuda\bin)添加到环境变量 PATH 中
用 vs 新建 cuda 项目。在vs编辑器正上方,Solution Configuration 的内容如果是Debug ,改为 Release ,旁边Platforms Solution Platforms 中的内容如果是win32,要改选为x64。如下:
Paste_Image.png
接下来修改项目属性:
项目属性/VC++ Directories/Include Directories 中添加入include的路径(例如 C:\cuda\include);
在项目属性/VC++ Directories/Libary Directories 中添加入lib\x64路径(例如 C:\cuda\lib\x64);
在项目属性/Linker/Input/Additional Dependencies 中添加入cudnn.lib;
项目属性/CUDA C|C++ / Device /Code Generation 中,将sm_20改为 sm_30或更高;
项目属性修改完毕。