【问题标题】:OpenCL half4 type Apple OS XOpenCL half4 类型 Apple OS X
【发布时间】:2012-03-15 16:09:43
【问题描述】:

有谁知道 Apple 实现的 OpenCL 中半精度浮点支持的状态。

根据http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/cl_khr_fp16.html

#pragma OPENCL EXTENSION cl_khr_fp16 : enable

应该启用对 half4 等类型的支持,但是当我开始构建内核时,编译器会抛出一条消息,例如

error: variable has incomplete type 'half4' (aka 'struct __Reserved_Name__Do_not_use_half4')

无论如何我可以在 Apple 的 OpenCL 中获得 half4 支持吗?

谢谢。

【问题讨论】:

    标签: macos opencl


    【解决方案1】:

    最新的 Apple 实施是在 Lion 上实现的,它支持 OpenCL 1.1。您正在查看最近发布的 OpenCL 1.2 规范。这只是记录了 OpenCL 的给定 1.2 实现中的内容,无论供应商是谁。

    【讨论】:

    【解决方案2】:

    cl_khr_fp16 扩展(对 16 位标量类型 (half) 和半向量 (half2,half3,half4,half8,half16) 的浮点运算)是 OpenCL 1.0、1.1 和1.2.

    如果 OpenCL 实现支持,OpenCL 扩展定义一个与扩展同名的宏。

    例如

    #ifdef cl_khr_fp16
    #pragma OPENCL EXTENSION cl_khr_fp16 : enable
    ... // Code using half
    #else
    #error No FP16 support
    #endif
    

    我不相信 Apple 会发布只支持一半的 OpenCL。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多