我已经通过了很少的好的参考指南,但我仍然对线程和块的限制感到困惑。 1)基本问题:配置执行中每个网格的块数,这意味着,网格将消耗所有SM还是单个SM?
2)实际上根据计算能力告诉你,每个SM可以有8个块,然后 为什么有时他们会说,你可以在每个维度配置65535个块? 据我所知,8个块将并行运行但是如何配置65535个块,它们将如何 执行?它们是每个SM还是每个网格?
3)总数没有。根据计算能力的线程是1024 /块和1536 / SM, 那么对于每个维度中的2D有多少最大值。我可以同时拥有线程然后如果我配置了更多,那么顺序有多少?总数应该在1024以内吗?我已经检查了几次,有时我配置的线程超过了每个块的限制,然后它也在工作,为什么会这样? 3a)情况a:对于GT200,给出了30SM,每个SM最多可以有8个块, 因此它得出结论,总共可以有240个区块(考虑所有SM),那么为什么会这样 有时提到可以在每个维度配置65535个块? 3b)案例b:另外,在我的一个程序中,我的矩阵输入大小是10,000 x 10,000,我做了以下配置, -没有。每格的块数:1 -没有。每块的线程数:10,000, 它仍在工作,没有。每个块的线程超出限制仍然在工作。任何人都让我解释它为什么工作?以何种方式执行线程和块? 工作,
答案 0 :(得分:1)