libcuda.soがないというエラーが出ます

4,857 views
Skip to first unread message

Kou

unread,
Oct 8, 2015, 3:02:55 AM10/8/15
to Chainer User Group
お世話になっております。

Linux環境でChainer 1.3.2をGPUで動かそうとしています。
CUDA6.5は/usr/local/cudaにインストールされており、PATHとLD_LIBRARY_PATHは設定済みです。

> echo $PATH
/usr/local/cuda/bin: .....
> echo $LD_LIBRARY_PATH
/usr/local/cuda/lib64: .....

ですが、check_cuda_available() の実行時に下のようなエラーが出ます。

>>> import chainer
>>> from chainer import cuda
>>> cuda.check_cuda_available()
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File ".local/lib/python2.7/site-packages/chainer-1.3.2-py2.7.egg/chainer/cuda.py", line 73, in check_cuda_available
   raise RuntimeError(msg)
RuntimeError: CUDA environment is not correctly set up.
library not found. ['libcuda.so']

/usr/local/cuda/lib64を確認してみたところlibcudart.soはあるもののlibcuda.soはありませんでした。
CUDA6.5以外に何かインストールが必要なのでしょうか?

よろしくお願い致します。

Ryosuke Okuta

unread,
Oct 8, 2015, 3:21:19 AM10/8/15
to Chainer User Group
Chainer開発者の奥田です。

libcuda.soは/usr/local/cuda/lib64 とは別の場所にあります。
私の手元の環境ですと、/usr/lib/x86_64-linux-gnu/ にありました。
調べていただければと思います。


2015年10月8日木曜日 16時02分55秒 UTC+9 Kou:

Kou

unread,
Oct 8, 2015, 4:37:29 AM10/8/15
to Chainer User Group
アドバイスありがとうございます。

/usr/lib/x86_64-redhat-linux5E/lib64
というディレクトリはあるもののlibcuda.soはありませんでした・・・
他にもめぼしい場所をfindしてみましたが見つからないようです。

の記事を読んでいて思ったのですが、Chainerを使うにはCUDA6.5のインストールだけでは足りず、
別途nvidiaのビデオカードに対応するドライバを明示的にインストールする必要があるのでしょうか?

Ryosuke Okuta

unread,
Oct 8, 2015, 5:56:56 AM10/8/15
to Chainer User Group
ドライバの導入状態は、インストール手段と設定により異なります。
バージョンは以下のコマンドで確認可能です。

cat /proc/driver/nvidia/version


以下の記事が導入参考になるかと思います。



2015年10月8日木曜日 17時37分29秒 UTC+9 Kou:

Kou

unread,
Oct 8, 2015, 7:56:22 AM10/8/15
to Chainer User Group
アドバイスありがとうございます。

あちこち調べていてこの記事で似たような症状の人を見つけました。

The libcuda.so that should be linked against is typically not the one at the directory you have shown.
The proper libcuda.so is installed by the driver, not the CUDA installer.
It will typically be found at /usr/lib64 or some place like that.
Somewhere you have either a -lcuda missing in your make process,
or else the library directory search path is not set up to point to the proper location of
libcuda.so on your machine. /usr/local/cuda/... is normally not the right place to look for libcuda.so

実は共有のワークステーションを使っているためroot権限がありません。
ドライバのバージョンを確認して管理者にどのようにインストールしたのか問い合わせてみようと思います。
Reply all
Reply to author
Forward
0 new messages