我已经搜索了很多地方,但我得到的都是如何安装它,而不是如何验证它是否安装。我可以验证我的NVIDIA驱动程序是否安装,CUDA是否安装,但我不知道如何验证CuDNN是否安装。非常感谢您的帮助,谢谢!
PS。 这是一个caffe实现。目前没有启用CuDNN,一切都可以正常工作。
我已经搜索了很多地方,但我得到的都是如何安装它,而不是如何验证它是否安装。我可以验证我的NVIDIA驱动程序是否安装,CUDA是否安装,但我不知道如何验证CuDNN是否安装。非常感谢您的帮助,谢谢!
PS。 这是一个caffe实现。目前没有启用CuDNN,一切都可以正常工作。
当前回答
torch.backends.cudnn.version()
应该能成功
其他回答
要检查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
OR
您可以从任何目录运行以下命令
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
安装CuDNN只是复制一些文件。因此,要检查是否安装了CuDNN(以及您使用的是哪个版本),只需检查这些文件。
安装 CuDNN
第一步:注册一个nvidia开发者账号并下载cudnn(大约80 MB)。你可能需要nvcc -version来获得你的cuda版本。
步骤2:检查cuda的安装位置。对于大多数人来说,它将是/usr/local/cuda/。你可以用哪个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
编辑:在以后的版本中,这可能是以下(归功于阿里斯)
$ 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。
通过apt: https://askubuntu.com/a/767270/10425安装的Ubuntu用户
Ubuntu 20.04LTS操作系统:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR
返回预期结果
我的回答展示了如何检查安装的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
我有cuDNN 8.0,上面的建议对我都不起作用。所需的信息在/usr/include/cudnn_version.h中,因此
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
成功了。