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é.
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à.
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
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
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
Lors de l'installation sur ubuntu via .deb
vous pouvez utiliser sudo apt search cudnn | grep installed
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
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