繁体   English   中英

银行的数量增加了一倍,但自sm2.X以来扭曲仍为32

[英]Amount of bank were doubled, but warp still 32 since sm2.X

提到wiki / CUDA ,因为sm2.X共享内存库的数量增加了一倍,但是warp大小仍然是32.正如我之前读过的那样,只有每半个warp,而不是full-warp存在银行冲突,所以没有需要每16个(半经线)线程有32个存储区,为什么它会加倍? 这是否意味着,因为sm2.X CUDA开始工作时完全没有半衰,并且现在不需要半翘曲的概念?

共享内存和库冲突的组织因计算能力而异。

请熟悉CUDA文档

特别是编程指南

特别是, 编程指南末尾部分讨论了体系结构特征,因为它们因计算能力而异,包括共享内存和warp执行特性。

所有当前GPU的warp大小始终为32。 详细的warp执行特性在cc1.x和cc2.0以及更新的设备之间有所不同。

每半翘曲只有银行冲突,

此概念仅适用于cc 1.x设备,其中共享内存有16个库 在cc2.0和更新的设备中,可以考虑银行冲突,其中共享内存有32个库

为什么它加倍了?

由于cc2.0和更新设备上的执行特性使得可以以锁步方式执行完整的warp,因此共享内存在存储区和访问带宽方面进行了调整,因此如果它们不是存储区,则可以提供完整的访问warp服务-conflicted。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM