Windows 10でのCUDA利用でのエラーについて

2,422 views
Skip to first unread message

Yuma Kurogome

unread,
Mar 23, 2016, 1:48:40 PM3/23/16
to Chainer Japanese User Group
はじめまして.
現在Windows 10でChainer v1.7.1を使おうとしています.
ところが,--gpu 0での学習に際して下記のエラーに悩まされている次第です.
どうかお知恵を拝借させてください.

実行しようとしたのはmnistのサンプルです.また,Ubuntu 14.04では動いていた自作RNNも同様のエラーを出力しました.
---
> python example\mnist\train_mnist.py -g 0
GPU: 0
# unit: 1000
# Minibatch-size: 100
# epoch: 20
Network type: simple

load MNIST dataset
epoch 1
Traceback (most recent call last):
  File ".\train_mnist.py", line 100, in <module>
    optimizer.update(model, x, t)
  File "C:\Python27\lib\site-packages\chainer\optimizer.py", line 375, in update
    self.target.zerograds()
  File "C:\Python27\lib\site-packages\chainer\link.py", line 530, in zerograds
    super(Chain, self).zerograds()
  File "C:\Python27\lib\site-packages\chainer\link.py", line 318, in zerograds
    param.zerograd()
  File "C:\Python27\lib\site-packages\chainer\variable.py", line 216, in zerograd
    self._grad.fill(0)
  File "cupy\core\core.pyx", line 344, in cupy.core.core.ndarray.fill (cupy\core\core.cpp:7554)
  File "cupy\core\core.pyx", line 353, in cupy.core.core.ndarray.fill (cupy\core\core.cpp:7499)
  File "cupy\core\core.pyx", line 1259, in cupy.core.core.elementwise_copy (cupy\core\core.cpp:48603)
  File "cupy\core\elementwise.pxi", line 768, in cupy.core.core.ufunc.__call__ (cupy\core\core.cpp:39434)
  File "cupy\util.pyx", line 36, in cupy.util.memoize.decorator.ret (cupy\util.cpp:1194)
  File "cupy\core\elementwise.pxi", line 576, in cupy.core.core._get_ufunc_kernel (cupy\core\core.cpp:36006)
  File "cupy\core\elementwise.pxi", line 32, in cupy.core.core._get_simple_elementwise_kernel (cupy\core\core.cpp:26488)

  File "cupy\core\carray.pxi", line 87, in cupy.core.core.compile_with_cache (cupy\core\core.cpp:26166)
  File "C:\Python27\lib\site-packages\cupy\cuda\compiler.py", line 141, in compile_with_cache
    cubin = nvcc(source, options, arch)
  File "C:\Python27\lib\site-packages\cupy\cuda\compiler.py", line 66, in nvcc
    _run_nvcc(cmd, root_dir)
  File "C:\Python27\lib\site-packages\cupy\cuda\compiler.py", line 44, in _run_nvcc
    raise RuntimeError(msg)
RuntimeError: `nvcc` command returns non-zero exit status.
command: ['nvcc', '--cubin', '-arch', 'sm_52', '-Xcompiler', '/wd 4819', '-m64', 'c:\\users\\hoge\\appdata\\local\\temp
\\tmpbm9lou\\kern.cu']
return-code: 1
stdout/stderr:
'cudafe' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
---

なお環境は,
* Intel Core i7-4790k
* NVIDIA GeForce GTX 970
* Windows 10
* Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:40:30) [MSC v.1500 64 bit (AMD64)] on win32
- http://www.lfd.uci.edu/~gohlke/pythonlibs/ よりインストールした依存関係
+ h5py-2.5.0-cp27-none-win_amd64.whl
+ numpy-1.10.4+mkl-cp27-cp27m-win_amd64.whl
+ scipy-0.17.0-cp27-none-win_amd64.whl
- pipでインストールした依存関係
                + cython
* Microsoft Visual C++ Compiler for Python 2.7
* Microsoft Visual Studio Community 2013
* CUDA 7.5.18
* cuDNN 7.0 v3.0
* ChainerはCUDAインストール後にpip --no-cache-dir install chainer -vvvvを用いて再インストール


また,環境変数PATHに
* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\bin
* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\libnvvp
* C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
環境変数CUDA_PATHに
* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
環境変数CUDA_PATH_V_7_5に
* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
を設定しています.

エラーからすると,chainer/cupy/cuda/compiler.py 35行目~の_run_nvccにてsubprocessのパス解決に失敗しているように見えます.
subprocessで参照されるPATHにcudafe.exeが存在するC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\binを設定しているため,私には原因を判別できませんでした.
ほかに,設定しなければならない環境変数などありますでしょうか?

Yuma Kurogome

unread,
Mar 24, 2016, 7:11:06 AM3/24/16
to Chainer Japanese User Group
自己解決しました.

複数のユーザーが登録されているWindows 7をWindows 10にアップグレード直後,ひとつのユーザーにだけログインして作業していたのですが,全てのアカウントで一度ログインしてから再起動・再設定したところ,コマンドプロンプトから環境変数を参照できるようになりました(これが直接の原因かどうかは不明).

2016年3月24日木曜日 2時48分40秒 UTC+9 Yuma Kurogome:
Reply all
Reply to author
Forward
0 new messages