Chainer - Python - CUDA_ERROR_INVALID_SOURCE - PullRequest
1 голос
/ 31 марта 2019

У меня есть машина с двумя разными графическими процессорами (один RTX и один Titan V), и часто она не запускает задачи. Такое поведение в основном наблюдается в GPU с id = 1.

Одну и ту же задачу можно успешно запустить на другом компьютере или в графическом процессоре с id = 0.

Точный стек выглядит следующим образом:

  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 или как вообще избежать проблемы.

Некоторая потенциально нерелевантная информация: Это довольно случайный процесс. При идентификаторе графического процессора = 1, восемь раз из десяти он не работает с вышеупомянутой ошибкой.

Есть идеи?

...