我很难理解multiProcessorCount属性给出的值是什么,因为我在掌握CUDA架构时遇到了困难。
如果以下某些陈述看起来很幼稚,我很抱歉。从我到目前为止的理解,这里是硬件“层”:
在软件方面:
在这两种情况下,允许启动的最大线程数和块数与卡上实际存在的每个流处理器的流式多处理器,流式处理器和硬件线程的数量无关。这些概念是软件!
我至少接近现实吗?
话虽如此,multiProcessorCount属性给出了什么?在我的610M上,它说我只有一个多处理器...这是否意味着我只有一个流多处理器?我会有一个仅由一个流式多处理器组成的构建块吗?这对我来说似乎不可能。这意味着我一次只能执行一个块! 此外,当我的卡的规格说我有48个cuda核心时,他们是在谈论流媒体处理器吗?
答案 0 :(得分:1)
也许this answer会有所帮助。它现在有点过时,因为它指的是旧架构,但原理是相同的。
GPU完全可以由单个SM(流式多处理器)组成,特别是如果它是移动GPU。该单个SM由多个CUDA内核组成,可以容纳多个线程块(最新的Kepler代GPU上最多16个)。
在您的情况下,您的610M GPU有一个流式多处理器(SM),由48个CUDA核心(又称流式处理器,SP)组成。