Comment vérifier l'installation de CuDNN?

J'ai cherché beaucoup d'endroits mais tout ce que je reçois est comment l'installer, pas comment vérifier qu'il est installé. Je peux vérifier que mon pilote NVIDIA est installé et que CUDA est installé, mais je ne sais pas comment vérifier que CuDNN est installé. L'aide sera très appréciée, merci!

PS.
C'est pour une implémentation caffe. Actuellement, tout fonctionne sans CuDNN activé.

70
demandé sur Robert Crovella 2015-07-09 21:58:39

7 réponses

Installer CuDNN implique simplement de placer les fichiers dans le répertoire CUDA. Si vous avez spécifié les routes et L'option CuDNN correctement lors de l'installation de caffe, elle sera compilée avec CuDNN.

Vous pouvez vérifier cela en utilisant cmake. Créez un répertoire caffe/build et exécutez cmake .. à partir de là. Si la configuration est correcte, vous verrez ces lignes:

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

Si tout est correct, exécutez simplement les commandes make pour installer caffe à partir de là.

24
répondu cesans 2015-07-10 19:56:28

L'installation de CuDNN ne fait que copier certains fichiers. Par conséquent, pour vérifier si CuDNN est installé (et quelle version vous avez), il vous suffit de vérifier ces fichiers.

Installer CuDNN

Étape 1: Enregistrez un compte Développeur nvidia et téléchargez cudnn ici (environ 80 Mo). Vous pourriez avoir besoin de nvcc --version pour obtenir votre version cuda.

Étape 2: Vérifiez où se trouve votre installation cuda. Pour la plupart des gens, ce sera /usr/local/cuda/. Vous pouvez le vérifier avec which nvcc.

Étape 3: Copiez le fichiers:

$ 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*

Vérifier la version

Vous devrez peut-être ajuster le chemin. Voir l'étape 2 de l'installation.

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

Notes

Lorsque vous obtenez une erreur comme

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

Avec TensorFlow, vous pouvez envisager D'utiliser CuDNN v4 au lieu de v5.

Les utilisateurs d'Ubuntu qui les a installés via apt: https://askubuntu.com/a/767270/10425

115
répondu Martin Thoma 2017-04-13 12:22:42

Debian et Ubuntu

À partir de CuDNN v5 (au moins lorsque vous installez via des paquets sudo dpkg -i <library_name>.deb), il semble que vous ayez besoin d'utiliser ce qui suit:

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

Par exemple:

$ 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"

Indique que CuDNN version 6.0.21 est installé.

Distributions Redhat

Sur CentOS, j'ai trouvé L'emplacement de CUDA avec:

$ whereis cuda
cuda: /usr/local/cuda

J'ai ensuite utilisé la procédure sur le cudnn.h fichier que j'ai trouvé à cet endroit:

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
42
répondu Jonathan 2018-05-09 13:40:43

Pour vérifier l'installation de CUDA, exécutez la commande ci-dessous, si elle est installée correctement, la commande ci-dessous ne lancera aucune erreur et imprimera la version correcte de la bibliothèque.

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

Pour vérifier l'installation de CuDNN, exécutez ci-dessous la commande, Si CuDNN est installé correctement, vous n'obtiendrez aucune erreur.

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 

OU

Vous pouvez exécuter la commande ci-dessous à partir de n'importe quel répertoire

nvcc -V

Il devrait donner quelque chose comme ceci

 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
16
répondu Sherlock 2017-11-22 14:12:13

Lors de l'installation sur ubuntu via .deb vous pouvez utiliser sudo apt search cudnn | grep installed

7
répondu Vlad 2018-03-31 18:20:34

Pour Linux

Utilisez ce qui suit pour trouver le chemin de cuDNN:

$ whereis cuda
cuda: /usr/local/cuda

Ensuite, utilisez ceci pour obtenir la version du fichier d'en-tête,

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

Pour Windows

Utilisez ce qui suit pour trouver le chemin de cuDNN:

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

Ensuite, utilisez ceci pour vider la version du fichier d'en-tête,

type "%PROGRAMFILES%\cuDNN6\cuda\include\cudnn.h" | findstr CUDNN_MAJOR
4
répondu ShitalShah 2018-07-06 03:48:53

Exécuter ./mnistCUDNN dans /usr/src/cudnn_samples_v7/mnistCUDNN

Voici un exemple:

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
2
répondu jeff wang 2018-02-22 17:04:13