OpenCL在Xcode上使用数学库的问题

szyu345 2015-02-22 08:49:32
小弟初学OpenCL,在mac上使用Xcode自带的OpenCL环境。

sanple程序全部都能跑,可是运行我自己写的程序时,问题就来了:
只要一使用sin,cos之类的函数,编译就会报错如下:
/Users/Ziyu/Develop/SCI/GravityCalc/GravityCalc/GravityCalc/harmonic.cl:110:17: error: call to '__fast_relax_cos' is ambiguous
double c1 = cos(lat);
^~~~~~~~
/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/../lib/clang/3.2/include/cl_kernel.h:4711:22: note: expanded from macro 'cos'
#define cos(__x) __fast_relax_cos(__x)
^~~~~~~~~~~~~~~~
/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/../lib/clang/3.2/include/cl_kernel.h:4709:30: note: candidate function
__CLFN_FD_1FD_FAST_RELAX(__fast_relax_cos, native_cos, __cl_cos);
^
/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/../lib/clang/3.2/include/cl_kernel.h:416:27: note: expanded from macro '__CLFN_FD_1FD_FAST_RELAX'
inline float __OVERLOAD__ _name(float x) { return _default_name(x); } \
^
/System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/../lib/clang/3.2/include/cl_kernel.h:4709:30: note: candidate function
__CLFN_FD_1FD_FAST_RELAX(__fast_relax_cos, native_cos, __cl_cos);
.......
还有像sqrt,pow一类全部都是类似的错误,如果不使用数学函数就可以正常运行。该如何解决呢?
(PS: 改用float型可以通过,可是我需要双精度,而且已经加了#pragma OPENCL EXTENSION cl_khr_fp64 : enable)
...全文
635 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zenny_chen 2015-02-26
  • 打赏
  • 举报
回复
请问您使用的是哪款GPU?估计是你的GPU硬件本身就不支持双精度浮点。
super_hefei 2015-02-26
  • 打赏
  • 举报
回复
双精度,这个是double

602

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧