有没有办法在Mac上为OpenCL启用双向量?

时间:2016-12-09 22:52:22

标签: c++ c macos opencl

我正在尝试在OpenCL中使用double3,但是我收到以下错误:

error: field has incomplete type 'double3' (aka 'struct__Unsupported_Type__Do_not_use_double3_on_this_device')

我可能已经使用#pragma OPENCL EXTENSION cl_khr_fp64 : enable启用了双精度浮点数据类型,但我不知道为什么我会得到这个。这是Mac OS的限制吗?

1 个答案:

答案 0 :(得分:3)

是的,通过像mac pro中那样使用工作站类卡。在具有消费者视频卡的系统上,双打不可用。

您的错误消息几乎说明了一切:

"struct__Unsupported_Type__Do_not_use_double3_on_this_device"

在硬件中支持双打占用空间和功率,这是大多数人不需要的功能,因此大多数视频卡都不支持它,而且执行常见图形任务的速度比使用相同的晶体管数量专用于32位浮点数。

这是一篇关于工作站和消费者视频卡之间相对双重​​性能的文章:https://www.microway.com/knowledge-center-articles/comparison-of-nvidia-geforce-gpus-and-nvidia-tesla-gpus/

短版本是一张非常昂贵的消费卡(1000美元),具有类似制造复杂性的高端工作站卡的双倍性能约为10%。