J’ai cherché beaucoup d’endroits mais TOUT 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
Ceci est pour une mise en œuvre caffe. Actuellement, tout fonctionne sans CuDNN activé.
L’installation de CuDNN consiste simplement à 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, il sera compilé avec CuDNN.
Vous pouvez vérifier cela en utilisant cmake
. Créez un répertoire caffe/build
et lancez 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, lancez les commandes 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.
É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 de 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 les 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*
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
Quand 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.
Utilisateurs d’Ubuntu qui l’ont installé via apt
: https://askubuntu.com/a/767270/10425
A partir de CuDNN v5 (au moins lorsque vous installez via sudo dpkg -i
), il semblerait que vous deviez utiliser les éléments suivants:
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 la version 6.0.21 de CuDNN est installée.
Sur CentOS, j’ai trouvé l’emplacement de CUDA avec:
$ whereis cuda cuda: /usr/local/cuda
J’ai ensuite utilisé la procédure concernant le fichier cudnn.h 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 la commande ci-dessous , 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 depuis n’importe quel répertoire
nvcc -V
il devrait donner quelque chose comme ça
nvcc: NVIDIA (R) Cuda comstackr 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
sudo apt search cudnn | grep installed
Pour Linux
Utilisez les commandes suivantes pour trouver le chemin d’access à 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 les fenêtres
Utilisez les commandes suivantes pour trouver le chemin d’access à 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écutez ./mnistCUDNN
dans /usr/src/cudnn_samples_v7/mnistCUDNN
Voici un exemple:
cudnnGetVersion() : 7005 , CUDNN_VERSION from cudnn.h : 7005 (7.0.5) Host comstackr 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