Как проверить установку 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
пакеты), похоже, вам может понадобиться использовать следующие: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
Для 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
in/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