Как проверить установку CuDNN?
Я искал много мест, но ВСЕ, что я получаю, КАК установить его, а не как проверить, что он установлен. Я могу проверить, установлен ли мой драйвер NVIDIA, и что CUDA установлен, но я не знаю, как проверить, установлен ли CuDNN. Помощь будет очень признательна, спасибо!
PS.
Это для реализации caffe. В настоящее время все работает без разрешения CuDNN.
Ответы
Ответ 1
Установка 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 оттуда.
Ответ 2
Установка 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
Ответ 3
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"
указывает, что установлена версия 6.0.21 CuDNN.
Redhat распределения
На CentOS я нашел местоположение CUDA с:
$ whereis cuda
cuda: /usr/local/cuda
Затем я использовал процедуру, описанную в файле cudnn.h, который я нашел в этом месте:
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Ответ 4
Чтобы проверить установку CUDA, выполните команду ниже, если она установлена правильно, то ниже команда не будет вызывать никаких ошибок и будет печатать правильную версию библиотеки.
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
Чтобы проверить установку CuDNN, выполните команду ниже, если CuDNN установлен правильно, вы не получите никаких ошибок.
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
ИЛИ
вы можете выполнить команду ниже из любого каталога
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
Ответ 5
При установке в Ubuntu через .deb
вы можете использовать sudo apt search cudnn | grep installed
sudo apt search cudnn | grep installed
Ответ 6
Для 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 CUDNN_MINOR CUDNN_PATCHLEVEL"
Ответ 7
Запустите ./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