wake-up-neo.com

Wie überprüfe ich die CuDNN-Installation?

Ich habe viele Orte durchsucht, aber alles, was ich bekomme, ist, wie ich es installiere, und nicht, wie ich überprüfen kann, ob es installiert ist. Ich kann überprüfen, ob mein NVIDIA-Treiber installiert ist und ob CUDA installiert ist, aber ich kann nicht überprüfen, ob CuDNN installiert ist. Hilfe wird sehr geschätzt, danke!

PS.
Dies ist eine Caffe-Implementierung. Momentan funktioniert alles ohne aktiviertes CuDNN.

118
alfredox

Bei der Installation von CuDNN müssen lediglich die Dateien im CUDA-Verzeichnis abgelegt werden. Wenn Sie die Routen und die CuDNN-Option bei der Installation von caffe korrekt angegeben haben, wird sie mit CuDNN kompiliert.

Sie können dies mit cmake überprüfen. Erstellen Sie ein Verzeichnis caffe/build und führen Sie dort cmake .. aus. Wenn die Konfiguration korrekt ist, werden folgende Zeilen angezeigt:

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

Wenn alles in Ordnung ist, führen Sie einfach den Befehl make aus, um caffe von dort aus zu installieren.

36
cesans

Bei der Installation von CuDNN werden nur einige Dateien kopiert. Um zu überprüfen, ob CuDNN installiert ist (und welche Version Sie haben), müssen Sie nur diese Dateien überprüfen.

Installieren Sie CuDNN

Schritt 1: Registrieren Sie ein nvidia-Entwicklerkonto und hier herunterladen (ca. 80 MB). Möglicherweise benötigen Sie nvcc --version, um Ihre cuda-Version zu erhalten.

Schritt 2: Überprüfen Sie, wo sich Ihre cuda-Installation befindet. Für die meisten Leute wird es /usr/local/cuda/ sein. Sie können es mit which nvcc überprüfen.

Schritt 3: Kopieren Sie die Dateien:

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

Überprüfen Sie die Version

Möglicherweise müssen Sie den Pfad anpassen. Siehe Schritt 2 der Installation.

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

Anmerkungen

Wenn Sie einen Fehler wie bekommen

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

mit TensorFlow können Sie CuDNN v4 anstelle von v5 verwenden.

Ubuntu-Benutzer, die es über apt installiert haben : https://askubuntu.com/a/767270/10425

150
Martin Thoma

Sie müssen zuerst die installierte cudnn-Datei finden und dann diese Datei analysieren. Um die Datei zu finden, können Sie Folgendes verwenden:

whereis cudnn.h
CUDNN_H_PATH=$(whereis cudnn.h)

Wenn dies nicht funktioniert, lesen Sie "Redhat-Distributionen" weiter unten.

Sobald Sie diesen Speicherort gefunden haben, können Sie Folgendes tun (indem Sie ${CUDNN_H_PATH} durch den Pfad ersetzen):

cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2

Das Ergebnis sollte ungefähr so ​​aussehen:

#define CUDNN_MAJOR 7
#define CUDNN_MINOR 5
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

Was bedeutet, dass die Version 7.5.0 ist.

Ubuntu 18.04 (über Sudo kann man das nvidia-cuda-toolkit installieren)

Bei dieser Installationsmethode wird cuda in/usr/include und/usr/lib/cuda/lib64 installiert. Daher befindet sich die Datei, die Sie sich ansehen müssen, in /usr/include/cudnn.h.

CUDNN_H_PATH=/usr/include/cudnn.h
cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2

Debian und Ubuntu

Ab CuDNN v5 (zumindest wenn Sie über Sudo dpkg -i <library_name>.deb -Pakete installieren) müssen Sie möglicherweise Folgendes verwenden:

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

Zum Beispiel:

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

zeigt an, dass CuDNN Version 6.0.21 installiert ist.

Redhat-Distributionen

Auf CentOS fand ich den Speicherort von CUDA mit:

$ whereis cuda
cuda: /usr/local/cuda

Ich habe dann die Prozedur für die Datei cudnn.h verwendet, die ich von diesem Speicherort gefunden habe:

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

m die Installation von CUDA zu überprüfen, führen Sie den folgenden Befehl aus Wenn CUDA ordnungsgemäß installiert ist, gibt der folgende Befehl keinen Fehler aus und gibt die richtige Version der Bibliothek aus.

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

m die Installation von CuDNN zu überprüfen, führen Sie den folgenden Befehl aus Wenn CuDNN ordnungsgemäß installiert ist, wird kein Fehler angezeigt.

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 

ODER

sie können den folgenden Befehl von jedem Verzeichnis aus ausführen

nvcc -V

es sollte eine Ausgabe wie diese geben

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

Abrufen der cuDNN-Version [Linux]

Verwenden Sie Folgendes, um den Pfad für cuDNN zu finden:

$ whereis cuda
cuda: /usr/local/cuda

Verwenden Sie diese Option, um die Version aus der Header-Datei abzurufen.

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

Abrufen der cuDNN-Version [Windows]

Verwenden Sie Folgendes, um den Pfad für cuDNN zu finden:

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

Verwenden Sie diese Option, um die Version aus der Header-Datei zu sichern.

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

Abrufen der CUDA-Version

Dies funktioniert sowohl unter Linux als auch unter Windows:

nvcc --version
20
Shital Shah

Bei der Installation unter Ubuntu über .deb können Sie Sudo apt search cudnn | grep installed verwenden.

12
Vlad

Führen Sie ./mnistCUDNN in /usr/src/cudnn_samples_v7/mnistCUDNN aus

Hier ist ein Beispiel:

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
6
jeff wang