CuDNNのインストールを確認する方法は?


145

私は多くの場所を検索しましたが、私が得るすべてはそれをインストールする方法であり、それがインストールされていることを確認する方法ではありません。NVIDIAドライバーがインストールされ、CUDAがインストールされていることを確認できますが、CuDNNがインストールされていることを確認する方法がわかりません。助けてくれてありがとう、ありがとう!

PS。
これはカフェの実装用です。現在、CuDNNを有効にせずにすべてが機能しています。


1
USE_CUDNN有効にして、または有効にせずにいくつかの例を実行してみましたか?
pQB 2015

NVIDIAおよびCUDAドライバーがインストールされていることをどのように確認しますか?
チャーリーパーカー

回答:


43

CuDNNをインストールするには、ファイルをCUDAディレクトリに配置するだけです。caffeのインストール中にルートとCuDNNオプションを正しく指定した場合、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、そこからカフェをインストールするように命令を実行します。


すばらしい、答えてくれてありがとう。makeファイルでcuDNNを有効にして再コンパイルした後、有効になりました:D。
アルフレドックス2015

72
Caffeを使用せずにcuDNNがインストールされているかどうかを確認する方法はありますか?CUDAで取得した例のようなものですか?
gokul_uf 2016

6
:@gokul_uf以下マーティンの答えごとに、あなたが使用することができ、以下の(は/ usr / local / CUDAに/usr/local/cuda-#.#あなたはシンボリックリンクきたと仮定した場合)cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
マット

2
@Boooooooooms彼は単にプログラミング言語Cの「ヘッダーファイル」の内容を取得し、プログラム「grep」を使用して特定の変数を読み取っている
Greg Hilston

私はカフェを持っていません。
rjurney

167

CuDNNのインストールは、いくつかのファイルをコピーしているだけです。したがって、CuDNNがインストールされているかどうか(および使用しているバージョン)を確認するには、これらのファイルを確認するだけで済みます。

CuDNNをインストールする

ステップ1:nvidia開発者アカウントを登録し、ここからcudnnダウンロードします(約80 MB)。nvcc --versioncudaバージョンを取得する必要がある場合があります。

ステップ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では、v5ではなくCuDNN v4の使用を検討する場合があります。

経由でインストールしたUbuntuユーザーapthttps : //askubuntu.com/a/767270/10425


2
CuDNNのこれらの手順は適切です。コピーがsymlink-preserving(-avフラグ)だった場合、わずかに改善できると思いますか?
オーロジュン

8
パスの変更は、私のインストールではわずかに機能しましたcat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
Micah Stubbs

私は自分の進路を/usr/local/cuda/**/*.h
bwest87

debファイルへのcudnnリンクをダウンロードするために投稿したリンク。あなたはtarファイルをダウンロードすることができますのはここです:developer.nvidia.com/rdp/cudnn-archive
BourbonCreams

最近では、バージョンを取得するために、次のように動作します。cat /usr/include/x86_64-linux-gnu/cudnn_v7.h | grepのCUDNN_MAJOR -A 2
AURO

106

まず、インストールされているcudnnファイルを見つけてから、このファイルを解析する必要があります。ファイルを見つけるには、以下を使用できます。

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

それが機能しない場合は、以下の「Redhatディストリビューション」を参照してください。

この場所が見つかったら、次の操作を実行できます(${CUDNN_H_PATH}パスに置き換えます)。

cat ${CUDNN_H_PATH} | grep CUDNN_MAJOR -A 2

結果は次のようになります。

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

つまり、バージョンは7.5.0です。

Ubuntu 18.04(sudo apt install nvidia-cuda-toolkitを使用)

このインストール方法では、cudaが/ usr / includeおよび/ usr / lib / cuda / lib64にインストールされます。したがって、確認する必要があるファイルは/usr/include/cudnn.hにあります。

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

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

47

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

nvcc -Vコマンドを実行すると、エラーが発生しました。そのようなコマンドが見つかりません。
無限ループ

@InfiniteLoops nvidia cudaツールキットがインストールされていますか?
シャーロック

@Sherlock TensorFlowのインストールガイドから直接cmdを実行します。Cudan cudnnのインストールを想定しています。Nvidiaパッケージリポジトリとcudaとツールのインストールを追加すると書かれています。しかし、先ほど述べた機能は機能します。libcudnn.so.7-> libcudnn.so.7.2.1のようなものを表示します
無限ループ

nvidiaツールキットがインストールされていないことを意味する「そのようなコマンドが見つかりません」というエラーが発生した場合は、@ InfiniteLoops。コマンドnvccを試して、出力を確認してください。以下のリンクも確認してくださいdevtalk.nvidia.com/default/topic/457664/…–
Sherlock

32

cuDNNバージョンの取得[Linux]

以下を使用してcuDNNのパスを見つけます。

cat $(whereis cudnn.h) | grep CUDNN_MAJOR -A 2

上記がうまくいかない場合は、これを試してください:

cat $(whereis cuda)/include/cudnn.h | grep CUDNN_MAJOR -A 2

cuDNNバージョンの取得[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"

CUDAバージョンの取得

これはLinuxとWindowsで機能します。

nvcc --version

1
ユーザーケースを追加するだけです:cudnn.hcudaインストールでファイルが見つからず、cudnnがインストールされていないと思いました。しかし、後で公式Webサイトからダウンロードしたcudaサンプルコードを実行すると、合格しました...
yuqli 2018年

2
私は完全なバージョン番号を見つけるために使用される完全なコマンドは以下のとおりであった:type "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\cudnn.h" | findstr "CUDNN_MAJOR CUDNN_MINOR CUDNN_PATCHLEVEL"
タラン

涼しい!回答を更新したので、これらの詳細が出力されます。
Shital Shah、2018

16

.debあなたが経由してubuntuにインストールするときsudo apt search cudnn | grep installed


6

ファイル名を指定して実行./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

4
これは、間違っている場合を除いて、実際には悪いアドバイスではありません。mnistCUDNNこれは書き込み可能なディレクトリではないため、そのディレクトリには配置しないでください。むしろ、サンプルはサブディレクトリとしてユーザーのホームディレクトリにコピーされ、そこでビルドされているはずです。それが適切にNvidiaのサイトの指示に従ってインストールして構築されたのであれば、 mnistCUDNN になります~/cudnn_samples_v7
マイク・ワイズ

追加するだけで、公式のNVIDIA Webサイトからコードサンプルを取得できます。インストールと確認の方法については、こちらの手順(docs.nvidia.com/deeplearning/sdk/cudnn-install/…)に従ってください。
yuqli 2018年

1
そうですか。私cudnn.hはにインストールされましたが/usr/include/cudnn.h、理由はわかりませんが、CUDAをインストールする前にこれが発生しapt-getました。今回は使用dpkgしていて何も変更しませんでした...
yuqli
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.