0
我試圖從另一個調用內核CUDA內核,但出現以下錯誤麻煩:有無GTX泰坦,具有動態並行
Traceback (most recent call last):
File "C:\temp\GPU Program Shell.py", line 22, in <module>
""")
File "C:\Python33\lib\site-packages\pycuda\compiler.py", line 262, in __init__
arch, code, cache_dir, include_dirs)
File "C:\Python33\lib\site-packages\pycuda\compiler.py", line 252, in compile
return compile_plain(source, options, keep, nvcc, cache_dir)
File "C:\Python33\lib\site-packages\pycuda\compiler.py", line 134, in compile_plain
cmdline, stdout=stdout.decode("utf-8"), stderr=stderr.decode("utf-8"))
pycuda.driver.CompileError: nvcc compilation of c:\users\karste~1\appdata\local\temp\tmpgq8t45\kernel.cu failed
[command: nvcc --cubin -arch sm_35 -m64 -Ic:\python33\lib\site-packages\pycuda\cuda kernel.cu]
[stderr:
kernel.cu(14): error: kernel launch from __device__ or __global__ functions requires separate compilation mode
我的理解是,這是已經與動態並行做與此錯誤有關的另一個問題是由於沒有適當硬件的用戶。我有一個GTX泰坦,但是,它應該是兼容的。我錯過了什麼? \ python33 \ lib中\: ' - 的cubin', ' - RDC =真', ' - - lcudart', '-lcudadevrt,','Ic的
EDIT
加入「選項= [後站點包\ pycuda \ CUDA kernel.cu']」以SourceModule,我得到以下錯誤:
Traceback (most recent call last):
File "C:\temp\GPU Program Shell.py", line 22, in <module>
""", options=['--cubin','-rdc=true' ,'-lcudart', '-lcudadevrt,','-Ic:\python33\lib\site-packages\pycuda\cuda kernel.cu'])
File "C:\Python33\lib\site-packages\pycuda\compiler.py", line 265, in __init__
self.module = module_from_buffer(cubin)
pycuda._driver.LogicError: cuModuleLoadDataEx failed: not found -
感謝您的指點,羅伯特。當我回家時我會檢查這一點。 –
我通過將-rdc,-IC和-lcudadevrt開關添加到源模塊的選項列表中進行了更改。我將錯誤編輯到原始問題中!生活是悲傷的。 –
現在這是一個不同的問題。 PyCUDA沒有找到cubin。這可能有多種原因,例如代碼體系結構不匹配,編譯器緩存問題,某種編譯錯誤或其他問題。你在32位或64位環境中工作嗎?你能夠運行其他pycuda代碼嗎?我不是pycuda專家,所以如果你發表一個涉及這個問題的新問題,你可能會獲得更好的牽引力。 –