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

C++ 有没有办法在Mac上为OpenCL启用双向量?,c++,c,macos,opencl,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扩展名clu khr_fp64:enable启用了双精度浮点数据类型,但我不知道为什么会出现这种情况。这是Mac OS的限制吗?是的,使用Mac pro中的工作站级卡。在带有

我试图在OpenCL中使用
double3
,但出现以下错误:

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

我大概已经使用
#pragma OPENCL扩展名clu khr_fp64:enable启用了双精度浮点数据类型,但我不知道为什么会出现这种情况。这是Mac OS的限制吗?

是的,使用Mac pro中的工作站级卡。在带有消费视频卡的系统上,不提供双卡

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

"struct__Unsupported_Type__Do_not_use_double3_on_this_device"
支持双倍硬件占用了空间和电源,这是大多数人不需要的功能,因此大多数视频卡不支持双倍硬件,而且支持双倍硬件的视频卡执行普通图形任务的速度比仅用于32位浮点的晶体管数相同的显卡慢

以下是一篇关于工作站和消费视频卡之间相对双重性能的文章:

较短的版本是,一张非常昂贵的消费卡(1000美元)的性能大约是高端工作站卡的10%,而高端工作站卡的制造复杂度与之类似