【问题标题】:Linux OpenCL Error: clGetPlatformIDs(-1001)Linux OpenCL 错误:clGetPlatformIDs(-1001)
【发布时间】:2016-10-25 09:58:02
【问题描述】:

我有一个用于测试 OpenCL 的简单源代码(2 个向量的总和),问题如下:运行可执行文件时出现此错误:

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;

  2. 我没有 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
    
  3. AMD 处理器。

【问题讨论】:

标签: linux opencl linux-device-driver amd-gpu


【解决方案1】:

由于我没有足够的代表发表评论,所以我将其作为答案。

'ldd clinfo' 的输出是什么?这将告诉我们 clinfo 正在使用哪些库。您可能需要先搜索 clinfo 可执行文件的绝对路径。

您能否提供目录 /etc/OpenCL/vendors/ 的内容。开始时文件名和内容会很有用。

【讨论】:

  • 您好,感谢您的回复! ldd clinfo 的输出如下:ldd: ./clinfo: No such file or directory,而目录 /etc/OpenCL/vendors/ 的内容如下:amdocl32.icd amdocl64.icd inteocl.icd nvidia.icd
  • 好的。然后尝试将 3 个供应商文件从 /etc/OpenCL/vendors/ 移到例如您的主目录并再次运行 clinfo。如果它仍然不起作用,请将这个 *.icd 文件移动到您的主目录中并尝试另一个。我遇到了同样的问题,这是导致错误的驱动程序之一。通过这种方法,我可以弄清楚它是哪一个。
  • 顺便说一句,我认为是英特尔驱动程序引起了问题。尝试先删除那个。
  • 非常感谢 @serbap 并为我的延误感到抱歉,但我正在等待服务器的管理员,但是我已经测试了您的建议,但它不起作用。
猜你喜欢
  • 1970-01-01
  • 2013-12-18
  • 2011-06-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 1970-01-01
相关资源
最近更新 更多