【发布时间】:2015-10-06 23:29:06
【问题描述】:
我正在查看 CUDA 头文件 cuda/6.5.14/RHEL6.x/include/math_functions_dbl_ptx1.h,发现每个接受 double 参数的算术函数都将其转换为 float:
static __forceinline__ double fabs(double a)
{
return (double)fabsf((float)a);
}
...
static __forceinline__ double floor(double a)
{
return (double)floorf((float)a);
}
由于我在本质上依赖于双精度浮点(代码中有很多潜在的灾难性取消),我很难相信自己的眼睛。
你能解释一下这里发生了什么吗?
【问题讨论】:
标签: c++ cuda floating-point