【问题标题】:pycuda ImportError in pycuda.driverpycuda.driver 中的 pycuda ImportError
【发布时间】:2019-07-25 13:33:03
【问题描述】:

我正在尝试编译一些用于我的 GPU 的源代码。我为此使用pycuda。当我编译源代码时,我从 Python 收到一些错误:

C:\Users\Dmitriy\wcm>python ws_gpu.py test.dcm
Traceback (most recent call last):
  File "ws_gpu.py", line 2, in <module>
    import pycuda.gpuarray as gpu
  File "C:\Python27\lib\site-packages\pycuda\gpuarray.py", line 3, in <module>
    import pycuda.elementwise as elementwise
  File "C:\Python27\lib\site-packages\pycuda\elementwise.py", line 33, in <module>
    from pycuda.tools import context_dependent_memoize
  File "C:\Python27\lib\site-packages\pycuda\tools.py", line 30, in <module>
    import pycuda.driver as cuda
  File "C:\Python27\lib\site-packages\pycuda\driver.py", line 2, in <module>
    from pycuda._driver import *
ImportError: DLL load failed: ═х эрщфхэ єърчрээ√щ ьюфєы№.

有没有人遇到过类似的问题?我该如何解决这个问题? 我使用 Windows 7 64 位,我的 GPU (NVIDIA GT520M) 和 CUDA Toolkit v.5.0 的最后一个驱动程序。

【问题讨论】:

    标签: python importerror pycuda


    【解决方案1】:

    这种错误几乎总是因为 PyCUDA 安装损坏。有一个名为 _driver.dll 的库文件,它提供与 CUDA 驱动程序 API 的绑定。出现错误消息是因为找不到该 dll 或无法加载它所依赖的库(即 CUDA)。我不能说更多,因为我无法阅读您发布的清晰错误文本。

    诊断此类问题的一种方法是在交互式 python shell 中尝试以下操作:

    import pycuda
    pycuda.__file__
    

    第二个命令将告诉您活动 PyCUDA 安装的根路径在哪里 (taken from a mailing list post)。在该路径中搜索将找到_driver.dll 的位置,并在 dll 文件上运行依赖项诊断工具将显示可以找到或无法找到的内容。如果这不起作用,我建议您将问题发送到 PyCUDA 邮件列表。

    【讨论】:

    • 非常感谢!我找到了这个问题的原因。我在 MinGW 中构建 pycuda 并收到异常消息。在 pycuda 源中,CUDA 工具包的路径中存在一个错误。我现在不能接受不正确的文件和代码行。如果你有兴趣,我可以稍后描述这个错误。
    • @iDom:我认为您不能将 MinGW 与 CUDA 或 PyCUDA 一起使用 - CUDA 库需要 Microsoft C++ 运行时,并且不能与 Windows AFAIK 上的任何其他工具链一起使用。
    • 我明白了,我使用MinGW来构建pyCUDA,但是CUDA源码是由Microsoft Visual C++ (MSVS2010)编译的。
    • MingW 和 MSVC Dll 可以互操作 - mingw.org/wiki/MSVC_and_MinGW_DLLs 使用正确的名称修改。
    • _driver.dll 可能在您的安装中被称为 _driver.pyd,如果是这种情况,请将其重命名为 .dll 并使用 depwalker 检查依赖关系。
    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 2018-07-11
    • 2016-08-27
    • 2015-05-28
    • 1970-01-01
    • 2017-09-27
    • 2013-08-27
    • 2022-01-16
    相关资源
    最近更新 更多