gpt4 book ai didi

python - PyOpenCL 第一次运行返回错误,然后只有 'invalid program' 错误;例子也不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:36 26 4
gpt4 key购买 nike

我正在尝试使用 pyOpenCL 绑定(bind)运行 OpenCL 内核,以便在 GPU 上运行。我试图将内核加载到我的程序中。我运行我的程序一次并出现错误。我在不更改代码的情况下再次运行它,并得到了不同的“无效程序”错误。

这种情况经常发生在我自己使用 pyOpenCL 的程序以及示例程序中。我可以通过 C++ 绑定(bind)在 CPU 和 GPU 上使用 OpenCL,没有任何问题。所以我认为这是 pyOpenCL 绑定(bind)特有的问题。

我的操作系统是 Linux Mint 17.1 64 位。我的 GPU 是 Intel HD Graphics 4000 第三代处理器。我通过安装 beignet 获得了对它的 OpenCL 支持(请参阅 here )。我正在使用 python 2.7OpenCL 1.2

第一次运行程序时,出现此错误:

File "/usr/lib/python2.7/dist-packages/pyopencl/__init__.py", line 463, in kernel_call
self.set_args(*args)
File "/usr/lib/python2.7/dist-packages/pyopencl/__init__.py", line 488, in kernel_set_args
% (len(args), self.num_args))
AssertionError: length of argument list (4) and CL-generated number of arguments (9) do not agree

但后来我再次运行它,并开始出现这个不同错误:

File "/usr/lib/python2.7/dist-packages/pyopencl/__init__.py", line 206, in _build_and_catch_errors
raise err
pyopencl.RuntimeError: clBuildProgram failed: invalid program -

Build on <pyopencl.Device 'Intel HD Graphics Family' on 'Experiment Intel Gen OCL Driver' at 0x7fb77bf21720>:

(options: -I /usr/lib/python2.7/dist-packages/pyopencl/cl)
(source saved as /tmp/tmplLRgy9.cl)

我下载了 here 的 pyOpenCL 示例之一但我遇到了同样的问题:第一次运行它时,我得到:

File "/usr/lib/python2.7/dist-packages/pyopencl/__init__.py", line 436, in __getattr__
return self.event.get_profiling_info(inf_attr)
pyopencl.RuntimeError: clGetEventProfilingInfo failed: profiling info not available

...然后我再次运行它,我得到了与之前相同的“无效程序”错误。

我不明白为什么错误在我第二次运行程序时发生变化,因为我在两次运行之间没有更改代码中的任何内容。

希望这足够清楚,谢谢。

最佳答案

我通过卸载 beignet 并安装最新版本 beignet 1.1.0 解决了这个问题(某种程度上),发现 here .

但是,让程序检测我的 GPU 设备并正常工作的唯一方法是以 root 身份运行它们。可能会针对该特定问题发布不同的问题。

关于python - PyOpenCL 第一次运行返回错误,然后只有 'invalid program' 错误;例子也不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900363/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com