Как проверить установку 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
Для 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