CUDA浮点比较

ash*_*kan 1 floating-point comparison cuda

我想知道是否有人对CUDA有一个很好的浮点/双重比较实现.我想使用某种(半)标准,而不是自己编写.我找不到标准的东西,或者被CUDA认可.但是这里有一些关于这个主题的好资源:

http://developer.download.nvidia.com/assets/NVIDIA-CUDA-Floating-Point.pdf

http://www.mrupp.info/Data/2007floatingcomp.pdf

带有以下标题的东西,针对在CUDA上运行进行了优化//可用AlmostEqual函数bool fcmp(double a,double b)

欢呼,阿什坎

Nat*_*ead 5

有几种方法可以比较浮点数.您可以查看数字之间的绝对差异.您可以查看数字之间的相对差异,将绝对差值除以参考数字.您可以查看浮点表示的按位相等性.

不知道为什么你要比较两个数字,很难说哪个最适合你.除了==由IEEE-754定义的运算符之外,没有正式的CUDA认可的方法来比较浮点数.