本文介绍了NVIDIA GPU (sm_13) 上的 IEEE-754 标准的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我在主机和设备(GPU arch sm_13)上执行浮点(单精度)操作,那么值会不同吗?

If I perform a float (single precision) operation on a Host and a Device (GPU arch sm_13) , then will the values be different ?

推荐答案

白皮书 来自 NVIDIA.基本上:

A good discussion of this is availble in a whitepaper from NVIDIA. Basically:

  • 目前几乎所有东西都实现了 IEEE-754;
  • 即使在忠实实施该标准之间,您仍然可以看到结果差异(众所周知,英特尔在内部使用 80 位实现双精度),或者编译器的高优化设置可能会改变结果
  • 计算能力 2.0 及更高版本的 NVIDIA 卡支持单精度和双精度的 IEEE-754,只有非常小的警告
    • 某些操作不支持某些舍入模式 - 仅当您在代码中明确更改舍入模式时才相关
    • 融合乘法和加法有一些微妙之处
    • CUDA 还提供(稍微)较低精度但更快的几个操作实现,当然,如果您显式或隐式使用这些操作(带有编译器选项),您自然不会获得完整的 ieee-754 结果

    这篇关于NVIDIA GPU (sm_13) 上的 IEEE-754 标准的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-17 01:21