【发布时间】:2015-01-17 05:35:28
【问题描述】:
我有一台 Mac Pro(2013 年末),我想使用 OpenCL 做一些数学运算。当我使用 Mavericks 时,我的 FirePro GPU 的 CL_DEVICE_EXTENSIONS 只列出了 cl_APPLE_fp64_basic_ops,所以我不能使用像 exp() 这样的双重数学函数。我最近升级到优胜美地,现在正确的cl_khr_fp64 在扩展列表中,但我仍然不能使用 exp 作为双倍。错误日志显示它正在寻找一个重载的函数,并且 exp 可用于 float、float4、float8 ......但不是 64 位。我已经包含了打开 fp64 的命令:
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
有人知道发生了什么吗?为什么GPU说cl_khr_fp64可用,但我不能全部使用。我可以使用双倍的+-*/,但之前我也可以只使用basic_ops。 Apple 是否在骗我说他们升级了对 fp64 的支持?
奇怪的是,在我的 CPU 上,OpenCL 还说cl_khr_fp64 也可用,但我也不能在 CPU 上使用 exp。
【问题讨论】:
-
@MichaelDorner,我试过了,它为 CL_DEVICE_DOUBLE_FP_CONFIG 返回 63 我还找到了来自 Apple 的文档说 D700 支持双倍。 store.apple.com/us/buyFlowCTOLearnMore/ME253LL/… 另外,当我通过 OpenCL 在我的 CPU 上运行它时,它也不起作用。 CPU 也为 CL_DEVICE_DOUBLE_FP_CONFIG 返回 63
-
这能回答你的问题吗? OpenCL kernel error on Mac OSx
标签: opencl gpu osx-mavericks double-precision