找不到 cusolver 库
cusolver library not found
我正在尝试在我的 python 代码中使用 skcuda,但每当我想使用它时,它都会引发以下异常:
Traceback (most recent call last):
File "/home/rohola/Projects/Python/wordnetwork/s.py", line 6, in <module>
from skcuda import cusolver
File "/home/rohola/anaconda3/lib/python3.4/site- packages/skcuda/cusolver.py", line 51, in <module>
raise OSError('cusolver library not found')
OSError: cusolver library not found
我刚刚尝试使用 skcuda
from skcuda import cusolver
handle = cusolver.cusolverDnCreate()
我安装了 pycuda,NVIDIA CUDA 工具包。我的代码或依赖项有什么问题?
我终于找到了解决问题的方法。首先,我用
搜索 libcusolver.so
locate libcusolver.so
然后将 cusolver.py 中的以下代码更改为:
_libcusolver = ctypes.cdll.LoadLibrary(_libcusolver_libname)
至:
_libcusolver = ctypes.cdll.LoadLibrary("/usr/local/cuda-7.5/targets/x86_64-linux/lib/"+_libcusolver_libname)
现在是以下代码:
from skcuda import cusolver
handle = cusolver.cusolverDnCreate()
工作没有任何错误。
更新:
如果你安装了cuda8.0或者9.0最好的解决办法就是在cusolver.py中找到这一行:
_libcusolver = ctypes.cdll.LoadLibrary(_libcusolver_libname)
并在其前面添加这一行:
ctypes.CDLL('libgomp.so.1',模式=ctypes.RTLD_GLOBAL)
您必须确保您已经安装了 libgomp。
import ctypes
a = ctypes.cdll.LoadLibrary( "/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcusolver.so" )
让我明白
OSError: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcusolver.so: undefined symbol: GOMP_critical_end
这似乎是一个尚未解决的问题
不过,
的 7.5 版本
/usr/lib/x86_64-linux-gnu/libcusolver.so
似乎指向效果很好。作者的修复似乎适用于它。
我正在尝试在我的 python 代码中使用 skcuda,但每当我想使用它时,它都会引发以下异常:
Traceback (most recent call last):
File "/home/rohola/Projects/Python/wordnetwork/s.py", line 6, in <module>
from skcuda import cusolver
File "/home/rohola/anaconda3/lib/python3.4/site- packages/skcuda/cusolver.py", line 51, in <module>
raise OSError('cusolver library not found')
OSError: cusolver library not found
我刚刚尝试使用 skcuda
from skcuda import cusolver
handle = cusolver.cusolverDnCreate()
我安装了 pycuda,NVIDIA CUDA 工具包。我的代码或依赖项有什么问题?
我终于找到了解决问题的方法。首先,我用
搜索 libcusolver.solocate libcusolver.so
然后将 cusolver.py 中的以下代码更改为:
_libcusolver = ctypes.cdll.LoadLibrary(_libcusolver_libname)
至:
_libcusolver = ctypes.cdll.LoadLibrary("/usr/local/cuda-7.5/targets/x86_64-linux/lib/"+_libcusolver_libname)
现在是以下代码:
from skcuda import cusolver
handle = cusolver.cusolverDnCreate()
工作没有任何错误。
更新:
如果你安装了cuda8.0或者9.0最好的解决办法就是在cusolver.py中找到这一行:
_libcusolver = ctypes.cdll.LoadLibrary(_libcusolver_libname)
并在其前面添加这一行: ctypes.CDLL('libgomp.so.1',模式=ctypes.RTLD_GLOBAL)
您必须确保您已经安装了 libgomp。
import ctypes
a = ctypes.cdll.LoadLibrary( "/usr/local/cuda-8.0/targets/x86_64-linux/lib/libcusolver.so" )
让我明白
OSError: /usr/local/cuda-8.0/targets/x86_64-linux/lib/libcusolver.so: undefined symbol: GOMP_critical_end
这似乎是一个尚未解决的问题
不过,
的 7.5 版本/usr/lib/x86_64-linux-gnu/libcusolver.so
似乎指向效果很好。作者的修复似乎适用于它。