首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >multiProcessorCount给出了流多处理器的数量吗?

multiProcessorCount给出了流多处理器的数量吗?
EN

Stack Overflow用户
提问于 2013-05-19 21:44:13
回答 1查看 5.3K关注 0票数 1

我很难理解multiProcessorCount属性所代表的价值,因为我在掌握CUDA体系结构方面遇到了困难。

如果下面的一些说法显得很幼稚,我很抱歉。根据我迄今为止的理解,以下是硬件“层”:

  • 一个CUDA处理器是由构建块组成的网格。
  • 一个构建块由两个或多个流多处理器组成。
  • 流多处理器由多个流处理器(也称为)组成。
  • 流处理器是“大规模”线程,这意味着它实现了许多硬件托管线程。一个流处理器,一个核心,实际上一次只能计算一个线程,但是它有许多“硬件线程”,它们可以在等待由SP计算数据时加载数据。

在软件方面:

  • 由线程组成,由流多处理器执行。
  • 如果启动的块比卡上的流多处理器数量多,我猜块会在某种队列中等待执行。
  • 软件线程被分配到流处理器,后者将它们分配给它们的硬件线程。与前一种情况类似,如果一个线程启动了更多的线程,流处理器可以处理它们的硬件线程,那么软件线程将在队列中等待。

在这两种情况下,允许启动的最大线程数和块数与卡上实际存在的每个流处理器的流多处理器、流处理器和硬件线程的数量无关。这些想法都是软件!

我至少接近现实了吗?

话虽如此,multiProcessorCount属性提供了什么呢?上面写着我只有一个多处理器..。这是否意味着我只有一个流多处理器?我会有一个只由一个流多处理器组成的构建块吗?这对我来说是不可能的。这意味着我一次只能执行一个块!此外,当我的卡的规格说明说我有48个cuda核时,他们是在谈论流处理器吗?

EN

回答 1

Stack Overflow用户

发布于 2013-05-20 09:29:03

也许this answer会有所帮助。它现在有点过时了,因为它指的是旧的体系结构,但是原则是一样的。

GPU完全有可能由单个SM (流式多处理器)组成,特别是当它是移动GPU时。该单SM由多个CUDA核心组成,可以容纳多个线程块(在最新开普勒一代GPU上最多可容纳16个线程)。

在您的例子中,您的6.1亿GPU有一个流多处理器(SM),由48个CUDA核心(也称为流处理器,SPs)组成。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16639766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档