【发布时间】:2014-04-16 23:06:48
【问题描述】:
如果这是微不足道的,我深表歉意,但我无法通过谷歌找到答案。
根据 OpenCL 标准(自 1.0 起),出于存储原因,支持 half 类型。
但在我看来,如果没有 cl_khr_fp16 扩展,就不可能将它用于任何事情?
我想做的是将我的值保存为一半,但在浮点数中执行所有计算。
我尝试使用 convert_half(),但没有 cl_khr_fp16 则不支持。 我尝试在一半之前只写 (float) 进行自动 c 样式转换,但没有奏效。
所以我的问题是,如何将一半用于存储?
我需要能够读写一半。
【问题讨论】:
-
你的设备支持半型吗?它是可选的,不是必需的。
-
如果我的问题不清楚,我深表歉意。不,我的设备似乎不支持 cl_khr_fp16 扩展,我知道这是可选的。尽管如此,规范仍然说我应该能够将一半用于存储目的。你可以在这里看到:khronos.org/registry/cl/sdk/1.1/docs/man/xhtml double 和 double 和 half 的向量版本是可选的,但 half 是核心 OpenCL 规范的一部分。
标签: c++ c floating-point opencl precision