Code: Alles auswählen
raise LinkerError(msg)
numba.cuda.cudadrv.driver.LinkerError: cudadevrt.lib not found
Dabei funktioniert numba einwandfrei bis ich Cooperative Groups benutzen möchte. Durch hinzufügen von
Code: Alles auswählen
g = cuda.cg.this_grid()
g.synch()
numba und codatoolkit wurden auf unterschiedliche Weise installiert mit pip und conda, ich habe auch unterschiedliche Versionen von numba, codatoolkites, pip und auch python probiert. Es wurde auch ein seperater env von conda erstellt und alles neu installiert, der Fehler bleibt.
Es scheint ja alles richtig installiert zu sein. Hier ausschnitt aus System info:
Code: Alles auswählen
.
.
.
__Python Information__
Python Compiler : MSC v.1916 64 bit (AMD64)
Python Implementation : CPython
Python Version : 3.9.12
Python Locale : de_DE.cp1252
__Numba Toolchain Versions__
Numba Version : 0.55.1
llvmlite Version : 0.38.0
__LLVM Information__
LLVM Version : 11.1.0
__CUDA Information__
CUDA Device Initialized : True
CUDA Driver Version : (11, 7)
CUDA Runtime Version : 11030
CUDA NVIDIA Bindings Available : False
CUDA NVIDIA Bindings In Use : False
CUDA Detect Output:
Found 1 CUDA devices
id 0 b'NVIDIA GeForce MX230' [SUPPORTED]
Compute Capability: 6.1
PCI Device ID: 0
PCI Bus ID: 1
UUID: GPU-c1d67fa9-e4f3-77ac-0d9c-eeee3658db7d
Watchdog: Enabled
Compute Mode: WDDM
FP32/FP64 Performance Ratio: 32
Summary:
1/1 devices are supported
CUDA Libraries Test Output:
Finding nvvm from Conda environment
named nvvm64_40_0.dll
trying to open library... ok
Finding cudart from Conda environment
named cudart64_110.dll
trying to open library... ok
Finding cudadevrt from Conda environment
named cudadevrt.lib
Finding libdevice from Conda environment
searching for compute_20... ok
searching for compute_30... ok
searching for compute_35... ok
searching for compute_50... ok
__SVML Information__
SVML State, config.USING_SVML : True
SVML Library Loaded : True
llvmlite Using SVML Patched LLVM : True
SVML Operational : True
__Threading Layer Information__
TBB Threading Layer Available : True
+-->TBB imported successfully.
OpenMP Threading Layer Available : True
+-->Vendor: MS
Workqueue Threading Layer Available : True
+-->Workqueue imported successfully.
__Numba Environment Variable Information__
None found.
__Conda Information__
Conda Build : 3.22.0
Conda Env : 4.14.0
Conda Platform : win-64
Conda Python Version : 3.9.12.final.0
Conda Root Writable : True
.
.
.
Auf den Test:
Code: Alles auswählen
python -c "from numba import cuda; cuda.cudadrv.libs.test()"
Code: Alles auswählen
Finding nvvm from Conda environment
located at C:\ProgramData\Anaconda3\Library\bin\nvvm64_40_0.dll
trying to open library... ok
Finding cudart from Conda environment
located at C:\ProgramData\Anaconda3\Library\bin\cudart64_110.dll
trying to open library... ok
Finding cudadevrt from Conda environment
located at C:\ProgramData\Anaconda3\Library\bin\cudadevrt.lib
Finding libdevice from Conda environment
searching for compute_20... ok
searching for compute_30... ok
searching for compute_35... ok
searching for compute_50... ok
HIer ist die vollständige Fehlermeldung von PyCharm:
Code: Alles auswählen
C:\Users\User\Desktop\test\Scripts\python.exe C:/Users/User/Desktop/test/main.py
C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\dispatcher.py:488: NumbaPerformanceWarning: Grid size 1 will likely result in GPU under-utilization due to low occupancy.
warn(NumbaPerformanceWarning(msg))
Traceback (most recent call last):
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\cudadrv\driver.py", line 2715, in add_file
driver.cuLinkAddFile(self.handle, kind, pathbuf, 0, None, None)
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\cudadrv\driver.py", line 320, in safe_cuda_api_call
self._check_ctypes_error(fname, retcode)
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\cudadrv\driver.py", line 388, in _check_ctypes_error
raise CudaAPIError(retcode, msg)
numba.cuda.cudadrv.driver.CudaAPIError: [301] Call to cuLinkAddFile results in CUDA_ERROR_FILE_NOT_FOUND
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\User\Desktop\test\main.py", line 159, in <module>
kMean[BPG, (TPB_zeile, TPB_spalte)](d_datenpunkte, d_datenpunkt_zugehörigkeit, d_gruppenpunkt,
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\dispatcher.py", line 491, in __call__
return self.dispatcher.call(args, self.griddim, self.blockdim,
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\dispatcher.py", line 625, in call
kernel = _dispatcher.Dispatcher._cuda_call(self, *args)
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\dispatcher.py", line 633, in _compile_for_args
return self.compile(tuple(argtypes))
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\dispatcher.py", line 796, in compile
kernel.bind()
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\dispatcher.py", line 178, in bind
self._codelibrary.get_cufunc()
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\codegen.py", line 200, in get_cufunc
cubin = self.get_cubin(cc=device.compute_capability)
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\codegen.py", line 175, in get_cubin
linker.add_file_guess_ext(path)
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\cudadrv\driver.py", line 2636, in add_file_guess_ext
self.add_file(path, kind)
File "C:\Users\User\Desktop\test\lib\site-packages\numba\cuda\cudadrv\driver.py", line 2721, in add_file
raise LinkerError(msg)
numba.cuda.cudadrv.driver.LinkerError: cudadevrt.lib not found