SM,SP和GRID线程计数,BLOCKING和THREAD之间的对应关

从软件的角度来看,CUDA是SIMT结构,GRID,块和子过程是子过程的组织。
最小的逻辑单元是子进程。最小的硬件执行单元是threadwarp(warp的缩写),有些线程(通常是128~512)形成块。该块被加载到上行链路SM中并形成多个块。集团网络。
你为什么在中间有一个子层块?
这是因为CUDA提供了这个概念的详细通信段,因为块被加载到SM中。因此,您可以使用SM和__syncthreads()提供的共享内存与实际线程同步通信。那好多了
除了内核的结束,没有办法在块之间进行同步。一般情况下,保修顺序无法保证。这是因为可以保证在具有不同SM编号的不同GPU上发送CUDA序列,并且因为需要具有各种可伸缩性,所以不会发生块之间的耦合。
这是一个2级CUDA线,它是建成的。
也就是说,核心对应于GRID,GRID包含一系列块,并且该块包含一系列子过程。
在GPU上运行GRID允许您占用一个GPU,甚至可能占用包含多个GPU的多个GPU(需要fermi和最新的GPU架构)。
块在SM中,SM可以有多个驻留块,并且需要根据资源占用来分析主体。
每一天
古人说大海充满了河流和河流。
世界上没有任何矛盾和斗争,我们需要以轻松的心态和慷慨的微笑来面对它。
哈伯德还说,宽恕和宽恕的神秘幸福也是赞美众神的一种极大乐趣。
享受宽容的快乐,体验理解的快乐!
经纱单元中的纱线将计划器SM传送到SP或SFU等其他单元,LD / ST单元执行相位执行(保持静止)以等待经线被切断,执行单元清空其他单位。
然后有一个问题
1
一个街区不只是居住在1 SM。
GTX 660 ti的cudacore是1344,kepler架构,所以应该有7个SM,每个SM有192个SP,所以你明白了吗?
3
在GTX660ti上运行内核。如果块编号为1,您知道GPU是1/7吗?
这样玩冰之神
1:是的,你可以支持这个标准,如果要应用共享内存块,这个通知是SM中的共享内存资源,不同共享内存中的SM不通信,互相借用你不能。
因此,我们可以证明该块只能存在于SM中。
2:SM的Kepler框架(也称为SMX)带有SP 192(也称为CUDACORE)。因此,将SP 192的请求总数除以获得SM。
你的理解是正确的。
3:这个问题有点复杂,因为块和应用程序资源的情况,并且在正常情况下不能达到1/7,这个问题只有一个块,它最有可能运行SM不满意,(例如,块表面上的线程数是非常小或中等数量的线程但仍然无法覆盖其他延迟),而旧线程只有一个块1024个线程,GPU计算还是太少。
为了解释这个概念,可以借用一个数学概率来使其更清晰。1/7是GPU占用率的上限,但可能不是最高限制(大多数小上限)。几乎没有共同的线程,这没有任何意义。
在本文中,我将介绍一些程序员的笑话。
PC软件非常出色。在许多情况下,PC软件的功能通常可以满足您的需求。iPhone软件通常包含几行代码,显然需要一些小东西。更多的软件
数量不同,比如吃西瓜和吃瓜子。