4

更好=更快。

我问的是一般情况,但考虑一个情况,当我有更多的“工人”而不是数据 - 它是否比每个块的最后一个线程将保持不使用更好,还是让每个网格的最后一个块不使用更好?

4

1 回答 1

4

您应该记住每 8 个块在 SM(流式多处理器)上运行的事实。您可以将它们视为 CPU 内核。每个block目前最多可以运行1024个线程,相当于逻辑核心,比如现在的intel i系列有的核心,不管你用不全这些线程,剩下的就浪费了,因为你没用他们和其他人都做不到。因此,例如,如果您的 GPU 上有 8 个 SM,您可以分配 64 个块,但不能为每个块分配 1024 个线程,因为每个 SM 的线程总数有限制,例如 2048。(编辑了这些基于集线器提供的信息)

于 2013-02-10T17:45:50.107 回答