[英]When a warp is assigned to a portion of a SM, will it stay there until that warp completes?
[英]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.