我有一个简单的源代码(2向量的总和)用于测试OpenCL的问题如下:当我运行th可执行文件我得到这个错误:
Error: clGetPlatformIDs(-1001)
此外,如果我运行命令clinfo
,我得到以下错误:
terminate called after throwing an instance of 'cl::Error'
`what(): clGetPlatformIDs`
`Aborted (core dumped)`
有什么问题吗?
我用途:
- 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
- AMD处理器。
2条答案
按热度按时间c2e8gylq1#
由于我没有足够的代表发表评论,我把这作为一个答案。
ldd clinfo的输出是什么?这将告诉我们clinfo正在使用哪些库。您可能必须首先搜索clinfo可执行文件的绝对路径。
你能提供目录/etc/OpenCL/vendors/的内容吗?文件名和内容将是一个有用的开始。
wb1gzix02#
我在我的剧本里找到了:用
-fsanitize=address
编译会破坏ICD加载器。从我的构建中删除它会使clGetPlatformIDs
按预期工作。不过-fsanitize=undefined
还可以。