当前位置:   article > 正文

关于gpu里simt stack_gpu架构中的simt-stack

gpu架构中的simt-stack

假设当前warp一共四个线程,那么mask为1111,1表示执行该线程

分支之前,我们执行cbj,把activemask存起来,就是分支之前是1111,waitmask是0000

程序即将分支,分支就是跳转指令。

分支情况为A:1110,B:0001。

条件跳转分两种pc,一种是跳到pc+imm,一种是pc+4,就是接着执行后续代码.设A分支的pc是pc+imm

假设我们先执行少的,那么就需要把A的mask和pc,即pc+imm和1110存进栈里。

接着把当前总mask设置为0001,pc为pc+4,

然后我们走完B分支,

执行cbs

找到之前存的mask,waitmask&mask=0001,并不等于我们重聚需要的1111,所以从stack里弹出,设置pc为pc+imm和mask,接着走a分支,

走完又遇到cbs,这时候把a分支的maks与上,发现和waitmask一致,都是1111,线程同步,然后继续下去。

一般分支结构如下

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/737705
推荐阅读
相关标签
  

闽ICP备14008679号