我已经走过了这么几个很好的参考指南,但我仍然对线程和块的限制感到困惑。 1)基本问题:配置执行中每个网格的块数,这意味着网格将消耗所有SM还是单个SM?线程和块的限制以及线程和块的执行
2)实际上,根据计算能力,告诉您每个SM可以有8个块,然后 为什么有时候他们说的是,您可以在每个维度配置65535个块? 我明白了,8块将并行运行,但是如何配置65535块,它们将如何执行?他们是每个SM或每个网格?
3)总数没有。根据计算能力的线程数为1024 /块,1536/SM, ,然后为每个维度的2D多少个最大数量。的线程可以在同一时间,然后如果我已经配置了多少,然后顺序?总数应该在1024以内?而且我已经实际检查过,有时我配置的线程超过了每个块的限制,然后它也在工作,为什么这样呢? 3a)情况a:对于GT200,给出有30个SM,并且每个SM可以具有多达8个块,因此它总结可以有总共240个块(考虑所有SM),那么为什么有时会提到 65535块可以在每个维度配置? 3b)案例b:另外,在我的一个程序中,矩阵的输入大小为10,000 x 10,000,我做了如下配置, -no。每个网格的块数:1 -no。每块的线程数:10,000, 它仍然在工作,因为没有。每个线程的线程超过了限制仍然工作。任何人都可以让我解释它为什么工作?哪种时尚线程和块被执行? working,
说真的 - 每个问题一个问题,请。并阅读一些文档,这在CUDA编程指南中有清楚的讨论。 – talonmies
@talonmies:好的。每个问题我会提出一个问题。 – robot
@robot,一些建议:首先,这至少是你第三次被建议每个问题提出一个问题。说“OK”然后不做就不会让你拥有任何粉丝。其次,我发现你已经发布了至少4个已回答的问题,并且你没有接受任何答案。有些人可能会看到这一点,并认为它不值得帮助你。我建议你回顾一下已经回答的问题,并接受一些答案,如[this one](http://stackoverflow.com/questions/13329345/quick-hull-worst-case-explanation),你已经已经表明答案对你有帮助。 –