2

我在带有 ARM 处理器和 Mali GPU 的 linux 机器上远程运行 open cl。但它在 clGetPlatformIDs() 处给出类似“未知错误:无法检索平台 ID”的错误。

我都试过了

cl_uint numPlatforms;   //the NO. of platforms
cl_platform_id platform = NULL; //the chosen platform
cl_int  status = clGetPlatformIDs(0, NULL, &numPlatforms);

cl_int  status = clGetPlatformIDs(1, &platform, &numPlatforms);

但对于两者,我都遇到了同样的错误。相同的代码在我的带有 AMD 显卡的个人 Windows 笔记本电脑上工作。

此错误的原因可能是什么?

4

2 回答 2

0

原因很简单——OpenCL 驱动程序运行不正常。这就是您无法加载平台列表的原因。你之前用 OpenCL 代码测试过那台 ARM 机器吗?

于 2014-04-13T09:38:37.513 回答
0

通过arm linux机器,您的意思是arm chromebook?您机器中的 libOpenCL.so 只是一个存根驱动程序。/etc/OpenCL/vendors 中列出了实际的平台实现。您也可以在没有 icd 支持的情况下拥有 libOpenCL.so,仅公开 1 个平台

在任何情况下,如果它的三星 arm chromebook,arm 有一个关于 mali opencl 和 opengl-es 的详细设置指南http://malideveloper.arm.com/develop-for-mali/features/graphics-and-compute-development-on-三星chromebook/

于 2014-04-15T04:15:40.347 回答