即使使用最新的驱动程序,Python pyopencl DLL加载也失败了

Joh*_*ick 8 python nvidia opencl pyopencl

我为我的GPU安装了最新的CUDA和驱动程序.我在Win7 64bit上使用Python 2.7.10.我尝试从以下位置安装pyopencl:

a.http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl上的非官方Windows二进制文件

b.从https://pypi.python.org/pypi/pyopencl获取源代码后编译自己的代码

两种情况下安装都成功但我尝试导入后会收到相同的错误消息:

>>> import pyopencl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\pyopencl-2015.1-py2.7-win-amd64.egg\pyope
cl\__init__.py", line 30, in <module>
    import pyopencl._cl as _cl
ImportError: DLL load failed: The specified procedure could not be found.
>>>
Run Code Online (Sandbox Code Playgroud)

我有Visual C++可再发行从安装Visual Studio 2015年https://www.microsoft.com/en-us/download/details.aspx?id=48145.

我还尝试了2种不同版本的GPU驱动程序(包括最新版本).一样.很多人似乎都得到了相同的错误,在一些论坛上,我通过将GPU驱动程序更新到最新版本来阅读,它运行正常.但不适合我.

谁知道如何解决这个问题?

doq*_*tor 2

恐怕这个问题没有一个正确的答案。每个案例都不同。这取决于操作系统中安装的内容。为了追踪此类问题,我通常使用Dependency Walker

在这种特定情况下,我将在Dependency Walker_cl.pyd中打开(通常在C:\Python27\Lib\site-packages\pyopencl)以检查是否没有任何丢失的依赖项,或者例如是否实际上是应该使用的依赖项。可能由其他程序安装并将其路径添加到. 也可能太旧了。基本上,尝试和错误将除一个之外的所有路径重命名为和/或从中删除路径可能会帮助您实现目标。OpenCL.dllOpenCL.dllPATHOpenCL.dllSystem32OpenCL.dllOpenCL.dll.bakPATH