为什么GK110有192个内核和4个经线?

时间:2014-09-28 03:45:21

标签: cuda kepler

我想了解开普勒的架构,但这对我来说没有意义。

如果warp是32个线程,其中4个被调度/执行,那意味着128个核心正在使用,64个空闲。在白皮书中它说了一些关于独立指令的内容,那些为这些指令保留的64个内核也是如此?

如果是这样,有人能举例说明何时需要独立指导?

1 个答案:

答案 0 :(得分:2)

Kepler中的每个SM都有192个(SP)内核和4个warp调度程序。每个warp调度程序都能够双重问题,这意味着在某些情况下,它实际上可以在单个问题槽中从给定的线程块(实际上是针对特定的warp)发出2条指令。

其中一种情况是指令应该是独立的,粗略地说,这意味着指令取决于另一条指令的输出。

使用4个warp调度程序,每个调度程序都可能具有双重问题,理论上可以启动最多8个warp指令的工作。这至少在理论上足以使192(SP)核心保持忙碌。

SM具有除SP单元之外的执行单元(通常称为“核心”),因此实际的指令组合将确定在任何给定的发布槽中调度哪些执行单元。

您可以在GK110 whitepaper中获得更详细的说明。