ゆるふわめも

東京か京都にいます。

AWSでcuDNNを利用する+Couldn't open CUDA library libcudnn.soの解決

やりたいこと

NVIDIAのcuDNNを使って高速にGPUを利用したい、AWSで。

すること

cuDNNをダウンロード

https://developer.nvidia.com/rdp/cudnn-download からダウンロード。登録が必要。

scp で aws へファイルをコピー

scp -i (AWSのpemファイル).pem -r Download/cudnn-7.5-linux-x64-v5.0-ga.tgz ubuntu@ec2-XXXXXXXXXX-.us-west-2.compute.amazonaws.com:

cuDNNのファイルをコピー

AWSサーバに入った後に

tar zxvf cudnn-7.5-linux-x64-v5.0-ga.tgz
cd cuda
sudo cp include/cudnn.h /usr/include
sudo cp lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*

認識されているかを確認

tensorflowの場合、GPUを使用する際に

I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally

と表示される。されない場合は

I tensorflow/stream_executor/dso_loader.cc:102] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH:

と表示される、はず。パスを指定すればいいだけなのでファイル先頭に

import os    
os.environ['LD_LIBRARY_PATH'] = "/usr/lib/x86_64-linux-gnu/" 

と書いて実行すれば認識される。