是否有人知道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中获得半数支持吗?
感谢。
答案 0 :(得分:1)
最新发布的Apple实施在Lion上,它支持OpenCL 1.1。您正在查看最近发布的OpenCL 1.2 规范。这简单地记录了OpenCL的给定1.2实现中的内容,无论供应商是谁。
答案 1 :(得分:0)
cl_khr_fp16扩展(16位标量类型(一半)上的浮点运算和一半(half2,half3,half4,half8,half16)的向量是OpenCL 1.0,1.1和的可选扩展。 1.2。
如果OpenCL实现支持OpenCL扩展,则定义与扩展名相同的宏。
e.g。
#ifdef cl_khr_fp16
#pragma OPENCL EXTENSION cl_khr_fp16 : enable
... // Code using half
#else
#error No FP16 support
#endif
我不相信苹果公司正在向OpenCL提供一半的支持。