发明名称 |
并行线程处理器中的一致分支指令 |
摘要 |
本发明的一个实施例提出了一种用于管理执行多线程处理器的线程组中的线程发散的机制。当执行一致分支指令时,使线程组中所有激活线程都仅在该线程组中每个线程都同意取用分支时进行分支转移。以这种方式,可以消除线程发散。当执行分支任意指令时,使线程组中所有激活线程都在该线程组中的至少一个线程同意取用分支时进行分支转移。 |
申请公布号 |
CN102640131B |
申请公布日期 |
2015.12.16 |
申请号 |
CN201080053460.0 |
申请日期 |
2010.09.24 |
申请人 |
辉达公司 |
发明人 |
约翰·R·尼科尔斯;理查德·克雷格·约翰逊;罗伯特·史蒂文·格兰维尔;吉列尔莫·胡安·罗扎斯 |
分类号 |
G06F15/00(2006.01)I |
主分类号 |
G06F15/00(2006.01)I |
代理机构 |
北京市磐华律师事务所 11336 |
代理人 |
顾珊;魏宁 |
主权项 |
一种控制器,所述控制器管理执行一组指令的线程组中的一个或多个线程,所述一组指令包括目标指令和指定条件的分支指令,所述控制器经配置以:接收所述分支指令,其中,所述线程组中的每个激活线程均与真或假条件值相关联,所述真或假条件值与由所述分支指令所指定的所述条件相关联;用合并函数将与所述线程组中的每个激活线程相关联的所述条件值合并到一个真或假判定中,所述判定指明是否所述线程组中所有激活线程都应取用至所述目标指令的分支;以及如果所述判定为真,则更新用于所述线程组中所有激活线程的激活程序计数,以指明所述一组指令中的所述目标指令,所述线程组中的每个激活线程都分支转移至所述目标指令,或者如果所述判定为假,则更新用于所述线程组中所有激活线程的所述激活程序计数,以指明紧跟所述分支指令的下一个指令,所述线程组中的每个激活线程都跳转至所述下一个指令。 |
地址 |
美国加利福尼亚州 |