Как устранить ошибку CudaAPIError: cuModuleLoadDataEx: в Numba? - PullRequest
0 голосов
/ 07 ноября 2019

Я использую Numba CUDA для ускорения своей программы, но я сталкиваюсь с ошибкой API CUDA, но без сообщения об ошибке. Что это значит? Вот вывод:

CudaAPIError: cuModuleLoadDataEx error:

Ошибка возникает из-за того, что я пытаюсь передать результаты от одного ядра CUDA к другому. Вот сводка:

Dark_Pix_Search_Kernel[griddim, blockdim](d_all_bands, d_window1, d_result_holder_1)
print("DPS done")
median_filter[griddim, blockdim](d_result_holder_1, d_window1, d_result_holder_2) #<<< error here

d_result_holder_1 - результат от Dark_Pix_Search_Kernel, затем он передается в median_filter. Разве нам не разрешено это делать?

Вот полный откат

Traceback (most recent call last):

  File "<ipython-input-3-066bf261707a>", line 1, in <module>
    runfile('C:/Users/dmdaz/Google Drive/Academic Files/MSCS/1st Sem19-20/IE 298/python_codes/python_codes - CUDA/Final_code.py', wdir='C:/Users/dmdaz/Google Drive/Academic Files/MSCS/1st Sem19-20/IE 298/python_codes/python_codes - CUDA')

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile
    execfile(filename, namespace)

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/dmdaz/Google Drive/Academic Files/MSCS/1st Sem19-20/IE 298/python_codes/python_codes - CUDA/Final_code.py", line 148, in <module>
    median_filter[griddim, blockdim](d_result_holder_1, d_window1, d_result_holder_2)

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\numba\cuda\compiler.py", line 799, in __call__
    kernel = self.specialize(*args)

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\numba\cuda\compiler.py", line 810, in specialize
    kernel = self.compile(argtypes)

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\numba\cuda\compiler.py", line 829, in compile
    kernel.bind()

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\numba\cuda\compiler.py", line 543, in bind
    self._func.get()

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\numba\cuda\compiler.py", line 430, in get
    module = cuctx.create_module_image(cubin)

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\numba\cuda\cudadrv\driver.py", line 888, in create_module_image
    module = load_module_image(self, image)

  File "C:\Users\dmdaz\.conda\envs\HazeAwayNew\lib\site-packages\numba\cuda\cudadrv\driver.py", line 952, in load_module_image
    raise CudaAPIError(e.code, msg)

CudaAPIError: cuModuleLoadDataEx error

Заранее всем спасибо

...