CUDA 中是否有任何设备函数来获取 IEEE 754 特殊值,如 inf、NaN?我的意思是稳定的方式,而不是通过编译器可以优化的一些数学运算。
我只设法找到一个名为 nan() 的设备函数,它必须采用一些未知的字符串参数。
CUDA 中是否有任何设备函数来获取 IEEE 754 特殊值,如 inf、NaN?我的意思是稳定的方式,而不是通过编译器可以优化的一些数学运算。
我只设法找到一个名为 nan() 的设备函数,它必须采用一些未知的字符串参数。
如何定义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)
CUDA 现在在数学库中有 nanf 指令。
设备浮动 nanf( const char *tagp )
Returns "NaN"