cuda.get_device(0)でエラーが出てGPUが使えない

2,859 views
Skip to first unread message

d.hig...@keio.jp

unread,
Jun 29, 2016, 4:14:15 AM6/29/16
to Chainer Japanese User Group
Ubuntu14.04, TITAN X2枚, chainer1.10環境です。cuda.get_device(0)で次のエラーが出ます。

>>> from chainer import cuda
>>> cuda.get_device(0)
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/chainer/cuda.py", line 163, in get_device
    check_cuda_available()
  File "/usr/local/lib/python2.7/dist-packages/chainer/cuda.py", line 84, in check_cuda_available
    raise RuntimeError(msg)
RuntimeError: CUDA environment is not correctly set up
(see https://github.com/pfnet/chainer#installation).CuPy is not correctly installed. Please check your environment, uninstall Chainer and reinstall it with `pip install chainer --no-cache-dir -vvvv`.

また、cupyをimportしようとする際には次のエラーが出ます。

>>> import chainer.cuda.cupy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named cupy

先日まで、chainer1.9で上記のimportに対してエラーが出ることはなく、正常にGPUが使えていることを確認していました。

エラーが出るようになった原因として考えられるものは、caffeのインストールを試みたことです。(共有PCでの別ユーザーの作業なので詳細が分からないのですが、)makeがうまくいかず、インストール作業を途中で辞めたそうです。それ以降、nvidia-smiコマンドでもGPUを認識しなくなったため、GPUのドライバー、CUDAを再インストールしたところ、chainer利用時に上記のエラーが出るようになりました。CUDAは7.5をインストールし、nvidia-smiコマンド、サンプルコードともに動作確認しています。下記手順でchainerを再インストールしてみました。

sudo -H pip uninstall chainer
pip install chainer --no-cache-dir -vvvv
sudo install chainer --no-cache-dir -vvvv log.txt
cat log.txt 

ログは添付ファイルに記載しておきます。sudoしないとエラーでinstallできなかったため、sudoを試しています。sudoするとinstallはできますが、import時に上記のエラーが出てしまいます。

最終的には、エラーが出ず、学習にGPUを利用できる状態にしたいです。原因、解決法が分かりましたら、お教えいただけますか。足りない情報をご連絡いただければ、随時対応し、返信いたします。

どうぞよろしくお願いいたします。
log.txt

Yuya Unno

unread,
Jun 29, 2016, 8:39:21 AM6/29/16
to d.hig...@keio.jp, Chainer Japanese User Group
海野です。
logにあるとおり、cublas_v2.hが見つかっていないため、ビルドに失敗しています。
CUDAはどうやってインストールしましたか?
通常の環境ですと、
/usr/local/cuda/include/cublas_v2.h
ここにヘッダファイルが見つかります。

2016年6月29日 17:14 <d.hig...@keio.jp>:

--
このメールは Google グループのグループ「Chainer Japanese User Group」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには chainer-jp+...@googlegroups.com にメールを送信してください。
このグループに投稿するには chain...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/chainer-jp/f53d2ee6-efdc-40b7-bcb7-a0b706881da0%40googlegroups.com にアクセスしてください。
その他のオプションについては https://groups.google.com/d/optout にアクセスしてください。

d.hig...@keio.jp

unread,
Jun 29, 2016, 10:09:11 AM6/29/16
to Chainer Japanese User Group, d.hig...@keio.jp
ご回答ありがとうございます。
CUDAのインストールはこちらのブログを参考に、同様の手順でdebで行いました。CUDAのバージョンも同じです。
http://mementoo.info/archives/2184

cublas_v2.hを探したところ、次の場所にありました。
/usr/local/cuda//targets/x86_64-linux/include/cublas_v2.h

/usr/local/cuda/includeの中がcudnn.hのみでしたので、/usr/local/cuda//targets/x86_64-linux/include/内のファイルを全てコピーしました。

また、ご指摘のおかげでログの途中にWARNINGがあることに気付いたため、lib64内も同様の現象が起きていることが分かりました。そこで/usr/local/cuda//targets/x86_64-linux/lib64内のファイルを全てコピーしました。

しかし、依然インストールできない状況です。エラーログを添付しておきます。ご確認よろしくお願いいたします。

2016年6月29日水曜日 21時39分21秒 UTC+9 Yuya Unno:
log.txt

d.hig...@keio.jp

unread,
Jun 30, 2016, 4:31:14 AM6/30/16
to Chainer Japanese User Group, d.hig...@keio.jp
sudoしていないため、パーミッションのエラーが出ていました。そこで、書き込み許可を与えてpip install chainer --no-cache-dir -vvvvしたログを添付します。

また、anaconda環境でインストールしたところ、問題なく動作することを確認しましたが、今回の原因を調査したいと思っています。

2016年6月29日水曜日 23時09分11秒 UTC+9 d.hig...@keio.jp:
log.txt

d.hig...@keio.jp

unread,
Jun 30, 2016, 4:50:07 AM6/30/16
to Chainer Japanese User Group, d.hig...@keio.jp
何度も申し訳ありません。解決致しました。

先ほどの状態で解決していたようです。間違った報告をした原因は、import chainer.cuda.cupyでエラーが出るかどうかで、現象が解決したかを判断していたことです。cuda.get_device(0)もできますし、GPUを用いた学習もできます。

お手数をお掛け致しました。ありがとうございました。

2016年6月30日木曜日 17時31分14秒 UTC+9 d.hig...@keio.jp:
Reply all
Reply to author
Forward
0 new messages