我已经搜索了很多地方,但我得到的都是如何安装它,而不是如何验证它是否安装。我可以验证我的NVIDIA驱动程序是否安装,CUDA是否安装,但我不知道如何验证CuDNN是否安装。非常感谢您的帮助,谢谢!

PS。 这是一个caffe实现。目前没有启用CuDNN,一切都可以正常工作。


当前回答

对于CUDnn 8.1及以上版本,使用以下命令:

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

其他回答

安装CuDNN只需要将文件放在CUDA目录中。如果你在安装caffe时正确地指定了路由和CuDNN选项,它将被CuDNN编译。

你可以使用cmake检查。创建一个caffe/build目录并运行cmake ..从那里。如果配置正确,你会看到这些行:

-- Found cuDNN (include: /usr/local/cuda-7.0/include, library: /usr/local/cuda-7.0/lib64/libcudnn.so)

-- NVIDIA CUDA:
--   Target GPU(s)     :   Auto
--   GPU arch(s)       :   sm_30
--   cuDNN             :   Yes

如果一切正常,只需运行make命令从那里安装caffe。

如何检查python代码:

from tensorflow.python.platform import build_info as tf_build_info

print(tf_build_info.cudnn_version_number)
# 7 in v1.10.0

我的回答展示了如何检查安装的CuDNN版本,这通常也是您想要验证的东西。首先需要找到已安装的cudn文件,然后解析该文件。要查找文件,您可以使用:

whereis cudnn.h
CUDNN_H_PATH=$(whereis cudnn.h)

如果这不起作用,请参阅下面的“Redhat分发”。

找到这个位置后,可以执行以下操作(将${CUDNN_H_PATH}替换为路径):

cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2

结果应该是这样的:

#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

这意味着版本是7.5.0。

安装nvidia-cuda-toolkit

这种安装方法将cuda安装在/usr/include和/usr/lib/cuda/lib64中,因此你需要查看的文件在/usr/include/cudnn.h中

CUDNN_H_PATH=/usr/include/cudnn.h
cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2

Debian和Ubuntu

从CuDNN v5开始(至少当你通过sudo dpkg -i <library_name>.deb packages安装时),看起来你可能需要使用以下命令:

cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2

例如:

$ cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2                                                         
#define CUDNN_MAJOR      6
#define CUDNN_MINOR      0
#define CUDNN_PATCHLEVEL 21
--
#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"
                      

表示安装了6.0.21版本的CuDNN。

Redhat分布

在CentOS上,我找到了CUDA的位置:

$ whereis cuda
cuda: /usr/local/cuda

然后我使用了我从这个位置找到的cudnn.h文件上的程序:

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

在“/usr/src/cudnn_samples_v7/mnistCUDNN”目录下运行。/mnistCUDNN 这里有一个例子: cudnnGetVersion(): 7005, CUDNN_VERSION from cudnn.h: 7005 (7.0.5) 主机编译器版本:GCC 5.4.0 在您的机器上有1个CUDA功能设备: device 0: sms 30 Capabilities 6.1, SmClock 1645.0 Mhz, MemSize (Mb) 24446, MemClock 4513.0 Mhz, Ecc=0, boardGroupID=0 使用设备0

torch.backends.cudnn.version()

应该能成功