首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"-arch sm_13“和"-arch sm_20”的区别是什么?

"-arch sm_13“和"-arch sm_20”的区别是什么?
EN

Stack Overflow用户
提问于 2012-04-26 17:18:38
回答 1查看 20.6K关注 0票数 18

我需要在我的应用程序中进行双精度计算。根据我在谷歌上找到的结果,我应该添加一个标志"-arch sm_13“或"-arch sm_20”。

Q1:"-arch sm_13“和"-arch sm_20”有什么区别?

Q2:"-arch sm_13“和"-arch sm_20”在性能上有区别吗?

我的GPU: GTX 570。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-26 18:49:02

SM代表流式多处理器,数字表示体系结构支持的功能。您可以在CUDA Programming Guide的3.1.2-3.1.4小节中找到很好的描述,并且可以在附录F的表中看到与每个体系结构相关联的特性。

NVCC manual (也包含在工具包中):

为了适应架构演变,NVIDIA GPU分不同代发布。新一代在功能和/或芯片架构方面引入了重大改进,而同一代中的GPU型号显示出微小的配置差异,这些差异“适度”影响了功能和/或性能。

您的图形处理器具有计算能力2.0,因此您应该使用sm_20来使编译器能够使用旧架构中没有的功能。如果您想要向后兼容,也可以面向sm_13 (或sm_1x),请查看上面的文档,了解如何使用nvcc的-gencode选项在单个nvcc调用中面向多个体系结构。

关于性能,要注意的一件事是sm_1x不支持IEEE754浮点,所以如果你以sm_13为目标,并在具有计算能力2.0或更高版本的设备上运行,那么你可能会发现浮点运行得更快,因为它使用的是不太精确的路径。您还可以使用sm_20或更高版本通过使用CUDA强制使用不太精确的路径,有关详细信息,请参阅-ftz=true -prec-div=false -prec-sqrt=false编程指南中的第5.4.1节。

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

https://stackoverflow.com/questions/10330527

复制
相关文章

相似问题

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