我正在寻找信息,在tesla gpu中如何实现双精度硬件。我已经读过,两个流处理器正在处理单个double值,但我没有找到任何来自nvidia的官方文件。
提前致谢。 PPS 为什么大多数GPU只用单精度计算(因为颜色可以存储为RR.GG.BB.TT,其中每个字符都是8位值)?
PS google it for me没有帮助
答案 0 :(得分:3)
不支持double不是像你说的那样存储格式(RR.GG.BB.TT),而是使用本机内部函数(以及专用硬件)来处理double(add,mul,madd等)上的操作。
无论如何,大多数GPU仅支持单精度,因为大多数GPU市场都在游戏市场,游戏玩家不需要双精度。此外,大多数游戏玩家都在寻找良好的性价比。在晶体管预算(和TDP)方面实施DP是成本很高的,如果游戏不使用双精度,这是毫无意义的。
这就是为什么你会看到高端ATI GPU支持双倍(HD 59xx和HD 58xx,但不是中端和入门级GPU,如HD 57xx及更低)。
@karlphillip: 是的,对于像GTX 260这样的GPU,IEEE754(种类)是正确的,但目前的ATI和NVIDIA正在支持IEEE 754-2008高端部件。
关于硬件实现,这是IHV通常不会告诉的秘密:)
答案 1 :(得分:2)
特斯拉不是GPU,它是一系列具有各种高端GPU的协处理器。如果您的特斯拉内置Fermi GPU,它应该具有良好的双精度性能。
请参见第9页的Fermi white paper。
单精度对于常规GPU计算更为重要,因为它对于此类应用程序已足够。
答案 2 :(得分:1)