216

我搜索了很多地方,但我得到的只是如何安装它,而不是如何验证它是否已安装。我可以验证我的 NVIDIA 驱动程序已安装,并且 CUDA 已安装,但我不知道如何验证 CuDNN 已安装。帮助将不胜感激,谢谢!

PS。
这是针对 caffe 实现的。目前,在没有启用 CuDNN 的情况下一切正常。

4

12 回答 12

205

CuDNN 的安装只是复制一些文件。因此,要检查是否安装了 CuDNN(以及您拥有的版本),您只需要检查这些文件。

安装 CuDNN

第 1 步:注册一个 nvidia 开发者帐户并在此处下载 cudnn(约 80 MB)。您可能需要nvcc --version获取您的 cuda 版本。

第 2 步:检查您的 cuda 安装位置。对于大多数人来说,它将是/usr/local/cuda/。你可以用which nvcc.

第三步:复制文件:

$ cd folder/extracted/contents
$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

检查版本

您可能需要调整路径。请参阅安装的第 2 步。

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

编辑:在以后的版本中,这可能是以下(Aris的学分)

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

笔记

当您收到类似的错误时

F tensorflow/stream_executor/cuda/cuda_dnn.cc:427] could not set cudnn filter descriptor: CUDNN_STATUS_BAD_PARAM

使用 TensorFlow,您可以考虑使用 CuDNN v4 而不是 v5。

通过以下方式安装它的 Ubuntu 用户apthttps ://askubuntu.com/a/767270/10425

于 2016-05-02T08:56:47.373 回答
143

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

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。

Ubuntu 18.04(通过 sudo apt install 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软件包安装时),您可能需要使用以下内容:

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"
                      

表示已安装 CuDNN 版本 6.0.21。

红帽发行版

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

$ whereis cuda
cuda: /usr/local/cuda

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

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
于 2017-09-13T14:20:49.950 回答
53

要检查 CUDA的安装,请运行以下命令,如果安装正确,则以下命令将不会抛出任何错误,并将打印正确版本的库。

function lib_installed() { /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep $1; }
function check() { lib_installed $1 && echo "$1 is installed" || echo "ERROR: $1 is NOT installed"; }
check libcuda
check libcudart

要检查 CuDNN 的安装,请运行以下命令,如果 CuDNN 安装正确,则不会出现任何错误。

function lib_installed() { /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep $1; }
function check() { lib_installed $1 && echo "$1 is installed" || echo "ERROR: $1 is NOT installed"; }
check libcudnn 

或者

您可以从任何目录运行以下命令

nvcc -V

它应该给出这样的输出

 nvcc: NVIDIA (R) Cuda compiler driver
 Copyright (c) 2005-2016 NVIDIA Corporation
 Built on Tue_Jan_10_13:22:03_CST_2017
 Cuda compilation tools, release 8.0, V8.0.61
于 2017-11-22T14:12:13.637 回答
48

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

您可以使用cmake. 创建一个目录caffe/buildcmake ..从那里运行。如果配置正确,您将看到以下行:

-- 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。

于 2015-07-10T19:56:28.280 回答
38

获取 cuDNN 版本 [Linux]

使用以下方法查找 cuDNN 的路径:

cat $(whereis cudnn.h) | grep CUDNN_MAJOR -A 2

如果上述方法不起作用,请尝试以下操作:

cat $(whereis cuda)/include/cudnn.h | grep CUDNN_MAJOR -A 2

获取 cuDNN 版本 [Windows]

使用以下方法查找 cuDNN 的路径:

C:\>where cudnn*
C:\Program Files\cuDNN6\cuda\bin\cudnn64_6.dll

然后使用它从头文件中转储版本,

type "%PROGRAMFILES%\cuDNN6\cuda\include\cudnn.h" | findstr "CUDNN_MAJOR CUDNN_MINOR CUDNN_PATCHLEVEL"

获取 CUDA 版本

这适用于 Linux 和 Windows:

nvcc --version
于 2018-07-06T03:48:53.263 回答
21

在 ubuntu 上安装时,.deb您可以使用sudo apt search cudnn | grep installed

于 2018-03-31T18:20:34.170 回答
14

在 Ubuntu 20.04LTS 上:

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

返回了预期的结果

于 2020-12-20T18:15:43.430 回答
14

我有 cuDNN 8.0,上面的建议都不适合我。所需的信息在 中/usr/include/cudnn_version.h,所以

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

成功了。

于 2020-08-24T20:19:10.387 回答
6

./mnistCUDNN进去/usr/src/cudnn_samples_v7/mnistCUDNN

这是一个例子:

cudnnGetVersion() : 7005 , CUDNN_VERSION from cudnn.h : 7005 (7.0.5)
Host compiler version : GCC 5.4.0
There are 1 CUDA capable devices on your machine :
device 0 : sms 30  Capabilities 6.1, SmClock 1645.0 Mhz, MemSize (Mb) 24446, MemClock 4513.0 Mhz, Ecc=0,    boardGroupID=0
Using device 0
于 2018-02-22T13:41:41.180 回答
6

如何检查python代码:

from tensorflow.python.platform import build_info as tf_build_info

print(tf_build_info.cudnn_version_number)
# 7 in v1.10.0
于 2020-08-10T05:25:24.867 回答
3

对于 CUDnn 8.1 及更高版本,请使用以下命令:

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

在此处输入图像描述

于 2021-09-01T18:06:50.270 回答
0
torch.backends.cudnn.version()

应该做的伎俩

于 2022-02-17T00:09:02.920 回答