はじめまして.
現在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
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
+ 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を設定しているため,私には原因を判別できませんでした.
ほかに,設定しなければならない環境変数などありますでしょうか?