Linux OpenCL错误:clGetPlatformIDs(-1001)

kd3sttzy  于 2023-03-29  发布在  Linux
关注(0)|答案(2)|浏览(95)

我有一个简单的源代码(2向量的总和)用于测试OpenCL的问题如下:当我运行th可执行文件我得到这个错误:

Error: clGetPlatformIDs(-1001)

此外,如果我运行命令clinfo,我得到以下错误:

terminate called after throwing an instance of 'cl::Error'
`what():  clGetPlatformIDs`
`Aborted (core dumped)`

有什么问题吗?
我用途:

  1. Linux操作系统Ubuntu 14.04.4 LTS;
    1.我没有NVIDIA显卡,但我有:
*ASPEED Technology, Inc. ASPEED Graphics Family* (rev 10) (prog-if 00 [VGA controller])
Subsystem: ASPEED Technology, Inc. ASPEED Graphics Family
Flags: medium devsel, IRQ 23
Memory at fe000000 (32-bit, non-prefetchable) [size=8M]
Memory at fdfe0000 (32-bit, non-prefetchable) [size=128K]
I/O ports at c800 [size=128]
Expansion ROM at <unassigned> [disabled]
Capabilities: <access denied>
Kernel driver in use: ast
  1. AMD处理器。
c2e8gylq

c2e8gylq1#

由于我没有足够的代表发表评论,我把这作为一个答案。
ldd clinfo的输出是什么?这将告诉我们clinfo正在使用哪些库。您可能必须首先搜索clinfo可执行文件的绝对路径。
你能提供目录/etc/OpenCL/vendors/的内容吗?文件名和内容将是一个有用的开始。

wb1gzix0

wb1gzix02#

我在我的剧本里找到了:用-fsanitize=address编译会破坏ICD加载器。从我的构建中删除它会使clGetPlatformIDs按预期工作。不过-fsanitize=undefined还可以。

相关问题