我写这个问题是因为多年来我在 Fedora 中使用 OpenCL 和 nVidia 图形并用它测试 Darktable 没有任何问题。但现在在 Fedora 27 中,我尝试使用具有 Intel Graphics opencl 功能的 Darktable,但是当我这样做时,darktable -d opencl
我得到了这个响应,因为它无法识别:
Beignet: self-test failed: (3, 7, 5) + (5, 7, 3) returned (6, 7, 5)
当我clifo
这样做时,它会缠绕三个设备。我认为它应该只找到两个,我的 CPU 和我的 GPU。我的CPU就是Intel Core i7-7500U
这样。
我已经安装了这些软件包:ocl-icd
、opencl-filesystem
和opencl-utils-devel
。beignet
我认为这些涵盖了所有必要的依赖项。
问题是:是否可以在该 GPU 上使用 Darktable 的 opencl 功能?我该如何使用 beignet 和 Fedora 27 来做到这一点?
答案1
这是 beignet 上 __local 内存的一个已知错误,看看这个解决方法是否适合您:
export OCL_IGNORE_SELF_TEST=1
答案2
Beignet 已被列入 Darktable 黑名单。您可以尝试将其从列表中删除并重新编译 darktable 并查看它是否有效:https://github.com/darktable-org/darktable/blob/master/src/common/opencl_drivers_blacklist.h第 27 行。Darktable 开发者已禁用 Beignet,因为他们认为将 Intel 卡与 opencl 结合使用并没有带来太多好处。你可以在这里读更多关于它的内容:https://www.darktable.org/2012/03/darktable-and-opencl/