线程块网格和多处理器

时间:2013-05-14 18:05:18

标签: cuda multiprocessor

CUDA programing guide州:

  

CUDA架构围绕可扩展的多线程流式多处理器(SM)阵列构建。当主机CPU上的CUDA程序调用内核网格时,将枚举网格块并将其分配给具有可用执行容量的多处理器。线程块的线程在一个多处理器上并发执行,并且多个线程块可以在一个多处理器上并发执行。当线程块终止时,在空出的多处理器上启动新块。

这是否意味着如果我有一个2个多处理器x n-cuda核心的视频卡,并且如果启动了像

这样的内核
MyKernel<<<1,N>>>(sth);

其中一个多处理器将处于空闲状态,因为我正在启动一个N个线程的块?

1 个答案:

答案 0 :(得分:2)

你是对的。

在所有当前的CUDA架构中,只能在一个多处理器上调度和运行块。如果在具有多个多处理器的设备上运行一个块,则除这些多处理器之外的所有多个处理器都将处于空闲状态。