Как проверить установку CuDNN?

Я искал много мест, но все, что я получаю, это как установить его, а не как проверить, что он установлен. Я могу проверить, установлен ли драйвер NVIDIA и установлен ли CUDA, но я не знаю, как проверить, установлен ли CuDNN. Помощь будет очень признательна, спасибо!

PS.
Это для реализации caffe. В настоящее время все работает без cuDNN включен.

7 ответов


установка CuDNN просто включает в себя размещение файлов в каталоге CUDA. Если вы правильно указали маршруты и параметр CuDNN при установке caffe, он будет скомпилирован с помощью CuDNN.

вы можете проверить это с помощью cmake. Создайте каталог caffe/build и работать cmake .. оттуда. Если конфигурация верна, вы увидите следующие строки:

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

если все правильно просто запустить make заказы на установку caffe оттуда.


установка CuDNN просто копирует некоторые файлы. Следовательно, чтобы проверить, установлен ли CuDNN (и какая версия у вас есть), вам нужно только проверить эти файлы.

Установить CuDNN

Шаг 1: зарегистрируйте учетную запись разработчика nvidia и скачать cudnn здесь (около 80 МБ). Вам может понадобиться nvcc --version чтобы получить версию cuda.

Шаг 2: Проверьте, где находится ваша установка cuda. Для большинства людей, это будет /usr/local/cuda/. Вы можете проверить это с which nvcc.

Шаг 3: скопируйте файлы:

$ 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

Примечания

когда вы получаете ошибку

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

С TensorFlow вы можете использовать CuDNN v4 вместо v5.

Ubuntu пользователи, которые установили его через apt: https://askubuntu.com/a/767270/10425


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"

указывает, что установлена версия CuDNN 6.0.21.

дистрибутивы ОС RedHat

на CentOS я нашел местоположение CUDA с:

$ whereis cuda
cuda: /usr/local/cuda

затем я использовал процедуру О на cudnn.H-файл, который я нашел из этой местонахождение:

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

чтобы проверить установку CUDA, выполните команду, если он установлен правильно, то ниже команда не выдаст ошибку и напечатает правильную версию библиотеки.

function lib_installed() { /sbin/ldconfig -N -v $(sed 's/:/ /' <<< $LD_LIBRARY_PATH) 2>/dev/null | grep ; }
function check() { lib_installed  && echo " is installed" || echo "ERROR:  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 ; }
function check() { lib_installed  && echo " is installed" || echo "ERROR:  is NOT installed"; }
check libcudnn 

или

вы можете запустить команду ниже из любого каталога

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

при установке на ubuntu через .deb можно использовать sudo apt search cudnn | grep installed


Для Linux

используйте следующее, чтобы найти путь для cuDNN:

$ whereis cuda
cuda: /usr/local/cuda

затем используйте это, чтобы получить версию из файла заголовка,

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

Для Windows

используйте следующее, чтобы найти путь для cuDNN:

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

затем используйте это, чтобы сбросить версию из файла заголовка,

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

выполнить ./mnistCUDNN на /usr/src/cudnn_samples_v7/mnistCUDNN

вот пример:

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