我想感受一下开普勒的架构,但这对我来说没有意义。
如果一个 warp 有 32 个线程,其中 4 个被调度/执行,则意味着 128 个核心正在使用,64 个核心处于空闲状态。白皮书中提到了独立指令,那么64核是为这些指令保留的吗?
如果是这样,有人能给我举个例子,说明何时需要独立指导吗?
Kepler 中的每个 SM 都有 192 个 (SP) 核心和 4 个 warp 调度器。每个 warp 调度程序都能够双发行这意味着在某些情况下,它实际上可以在单个发出槽中从给定线程块(实际上针对特定扭曲)发出 2 条指令。
其中一种情况是指令应该是独立的,这粗略地说意味着两条指令都依赖于另一条指令的输出。
有了 4 个 warp 调度程序(每个都可以进行双重发布),理论上可以启动最多 8 个 warp 指令的工作。这至少在理论上足以让 192 个 (SP) 核心保持忙碌。
除了通常称为“核心”的 SP 单元之外,SM 还具有执行单元,因此实际的指令混合将决定在任何给定的发布槽中调度哪些执行单元。
您可以在中获得更详细的描述GK110白皮书 http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)