NVIDIA Jetson TX2でCUDA driver version is insufficient for CUDA runtime versionが出たので解決した。
Jetpack を使用してCUDA Toolkitをインストールして、cupyを動かそうとしたときに出たエラー。 以下に実際にでた様子。 インストール時にはエラーが出ないのに、いざ、pythonからcudaを使おうと思ったときにでてたちが悪い。
$ python3 Python 3.5.2 (default, Nov 12 2018, 13:43:14) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cupy >>> a=cupy.arange(9).reshape(3,3).astype('f') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python3.5/dist-packages/cupy/creation/ranges.py", line 55, in arange ret = cupy.empty((size,), dtype=dtype) File "/usr/local/lib/python3.5/dist-packages/cupy/creation/basic.py", line 20, in empty return cupy.ndarray(shape, dtype, order=order) File "cupy/core/core.pyx", line 150, in cupy.core.core.ndarray.__init__ File "cupy/cuda/memory.pyx", line 517, in cupy.cuda.memory.alloc File "cupy/cuda/memory.pyx", line 1064, in cupy.cuda.memory.MemoryPool.malloc File "cupy/cuda/memory.pyx", line 1084, in cupy.cuda.memory.MemoryPool.malloc File "cupy/cuda/device.pyx", line 19, in cupy.cuda.device.get_device_id File "cupy/cuda/runtime.pyx", line 165, in cupy.cuda.runtime.getDevice File "cupy/cuda/runtime.pyx", line 137, in cupy.cuda.runtime.check_status cupy.cuda.runtime.CUDARuntimeError: cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA runtime version
結論としては、すでにインストールされているCUDA driverに対してJetpackでインストールしたCUDA Toolkitのバージョンが高すぎたことが問題だったみたい。
以下のJetpack Arciveからl4tのバージョンを見て対応しているものを使ってインストールしなおせば動くようになるはず。
l4tのバージョンは head -n 1 /etc/nv_tegra_release
でわかるはず
所感
動いた、Jetsonかっこいい(小並感)。そのうちやったこととかまとめたい。
とりあえず最新版ではだめなのか、、、
参考資料
- JetPack Archive
JetPack Archive | NVIDIA Developer
- NVIDIA® CUDA™ Architecture Introduction & Overview
http://developer.download.nvidia.com/compute/cuda/docs/CUDA_Architecture_Overview.pdf