【发布时间】:2015-07-07 21:22:05
【问题描述】:
我对某些维度的块如何映射到大小为 32 的扭曲有点困惑。
我已经阅读并亲身体验了块的内部尺寸是 32 的倍数可以提高性能。
假设我创建了一个尺寸为 16x16 的块。 经线是否可以包含来自两个不同 y 维度的线程,例如1和2?
为什么内部维度为 32 会提高性能,即使从技术上讲有足够多的线程可以调度到 warp?
【问题讨论】:
-
映射公式在the documentation中详细说明。有许多类似的问题可以解释从 2D 线程块到扭曲的映射,例如 this 或 this。 32 的内部维度可能对性能有帮助,也可能无济于事,这取决于实际的访问模式和基础数据的排列。例如,对于许多大型 2D 代码,16,16 和 32,8 线程块之间没有太大的性能差异。
标签: cuda