【问题标题】:Errors compiling OpenCL ICD loader on linux在 Linux 上编译 OpenCL ICD 加载器时出错
【发布时间】:2014-04-15 08:05:51
【问题描述】:

尝试在 Linux (ubuntu 12.04) 上编译测试 OpenCL ICD 驱动程序:http://www.khronos.org/registry/cl/specs/opencl-icd-1.2.11.0.tgz

按照自述文件构建:

wget http://www.khronos.org/registry/cl/specs/opencl-icd-1.2.11.0.tgz
tar xvf opencl-icd-1.2.11.0.tgz
cd icd/inc
mkdir CL
cd CL
cp /usr/include/CL/* .
cd ../..
make

但是 make 会抛出错误,例如:

In file included from icd.c:42:0:
icd_dispatch.h:105:5: error: unknown type name 'cl_device_partition_property'
icd_dispatch.h:111:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CL_API_SUFFIX__VERSION_1_2'
icd_dispatch.h:114:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CL_API_SUFFIX__VERSION_1_2'
icd_dispatch.h:177:5: error: unknown type name 'cl_image_desc'
...

看起来 cl_device_partition_property 应该引用 opencl 标头 ~/icd/inc/CL/cl_ext.h,但由于某种原因没有选择它。有什么建议吗?

【问题讨论】:

  • 为什么标记为 cmake?
  • @Peter 构建过程使用 make 和 cmake 的组合

标签: c compilation makefile cmake opencl


【解决方案1】:

看起来您使用的是 OpenCL 1.1 标头,而您正在构建的 ICD 是针对 1.2 的。 cl_device_partition_propertycl_image_desc 类型在 cl.h 中定义,但仅在 OpenCL 1.2 中添加。

您可以从Khronos OpenCL Registry 下载 OpenCL 1.2 标头。

【讨论】:

    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多