12

CUDA 中是否有任何设备函数来获取 IEEE 754 特殊值,如 inf、NaN?我的意思是稳定的方式,而不是通过编译器可以优化的一些数学运算。

我只设法找到一个名为 nan() 的设备函数,它必须采用一些未知的字符串参数。

4

2 回答 2

18

如何定义CUDART_NAN(double) 和CUDART_NAN_F(float) /usr/local/cuda/include/math_constants.h

#define CUDART_NAN_F            __int_as_float(0x7fffffff)
#define CUDART_NAN              __longlong_as_double(0xfff8000000000000ULL)

和:

#define CUDART_INF_F            __int_as_float(0x7f800000)
#define CUDART_INF              __longlong_as_double(0x7ff0000000000000ULL)
于 2013-03-20T03:10:21.460 回答
1

CUDA 现在在数学库中有 nanf 指令。

设备浮动 nanf( const char *tagp )

Returns "NaN"
于 2017-07-08T17:13:26.937 回答