首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该预期不同代之间的cuda应用程序的输出会有所不同吗?

我应该预期不同代之间的cuda应用程序的输出会有所不同吗?
EN

Stack Overflow用户
提问于 2011-06-08 19:38:41
回答 2查看 127关注 0票数 0

我有一些代码,是在特斯拉和费米代芯片组上编译和测试的。

在所有特斯拉代芯片(260,280,c1060)中,输出是一致的。

在所有费米代芯片(460-580,c2080)中,输出是一致的。

然而,在特斯拉和费米两代之间,输出图像略有不同。

这是意料之中的吗?代码中有浮点数学,精度是我的第一个怀疑,但我在Nvidia的文档中找不到任何提到它的地方。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-08 23:09:37

在Fermi Tuning Guide中有一节关于IEEE 754-2008遵从性的说明:

与计算能力为1.x的设备相比,计算能力为2.x的

设备与IEEE754-2008浮点标准的偏差要小得多,特别是在单精度方面(F.2节)。这可能会导致计算能力为1.x的设备和计算能力为2.x的设备之间的数值结果略有不同。

完整文档可在CUDA网站的下载部分找到。

票数 1
EN

Stack Overflow用户

发布于 2011-06-09 06:06:03

您还应该查看我的NVIDIA GPU浮点白皮书和网络研讨会(我是NVIDIA的员工)。

http://developer.nvidia.com/content/everything-you-ever-wanted-know-about-floating-point-were-afraid-ask

要回答这个问题,硬件代号之间确实存在数字上的差异。“计算能力”告诉你芯片有什么功能。计算能力为1.0-1.2的设备仅具有单精度。这些设备上的单精度为零,这意味着它不支持非正规化数字。一些运算,如除法和平方根,不能正确地四舍五入(它们对函数使用快速的硬件近似)。

计算能力的设备1.3增加了对双精度的支持。Double精度被正确地舍入,并支持非正规化。Double precision还具有融合的乘法-加法,这可以提高精度。

计算能力2.0和更高版本的设备升级了单精度浮点数。现在,单精度被正确地四舍五入并支持非正规化。它们还具有单精度和双精度的融合乘加运算。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6278129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档