我有一台装有两个不同GPU(一个RTX和一个Titan V)的机器,但通常无法运行任务。这种现象通常在id = 1的GPU中观察到。
同一任务可以在id = 0的另一台计算机或GPU上成功运行。
精确的堆栈如下:
File "cupy/core/core.pyx", line 1689, in cupy.core.core.ndarray.__setitem__
File "cupy/core/core.pyx", line 3598, in cupy.core.core._scatter_op
File "cupy/core/_kernel.pyx", line 828, in cupy.core._kernel.ufunc.__call__
File "cupy/util.pyx", line 48, in cupy.util.memoize.decorator.ret
File "cupy/core/_kernel.pyx", line 617, in cupy.core._kernel._get_ufunc_kernel
File "cupy/core/_kernel.pyx", line 51, in cupy.core._kernel._get_simple_elementwise_kernel
File "cupy/core/carray.pxi", line 164, in cupy.core.core.compile_with_cache
File "[miniconda]/envs/[env_name]/lib/python3.5/site-packages/cupy/cuda/compiler.py", line 161, in compile_with_cache
mod.load(cubin)
File "cupy/cuda/function.pyx", line 181, in cupy.cuda.function.Module.load
File "cupy/cuda/function.pyx", line 183, in cupy.cuda.function.Module.load
File "cupy/cuda/driver.pyx", line 185, in cupy.cuda.driver.moduleLoadData
File "cupy/cuda/driver.pyx", line 81, in cupy.cuda.driver.check_status
cupy.cuda.driver.CUDADriverError: CUDA_ERROR_INVALID_SOURCE: device kernel image is invalid
我的设置如下:
chainer 5.2.0 <pip>
chainercv 0.12.0 <pip>
cupy-cuda100 5.2.0 <pip>
链接器5.3中出现了相同的问题(我从头开始创建了一个新的conda环境)。
我相信这在某种程度上与多线程有关,但是我找不到如何在cupy中将其关闭或完全避免该问题的方法。
一些可能不相关的信息: 这是一个相当随机的过程。在GPU id = 1中,十分之八的速度无法运行,并出现上述错误。
有什么想法吗?