[发明专利]异步线程重组方法及基于该方法的SIMT处理器有效
申请号: | 201610889217.1 | 申请日: | 2016-10-11 |
公开(公告)号: | CN106484519B | 公开(公告)日: | 2019-11-08 |
发明(设计)人: | 齐志;孟炜;时龙兴 | 申请(专利权)人: | 东南大学苏州研究院 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 215123 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种异步线程重组方法及基于该方法的SIMT处理器,通过在不同线程组之间异步交换线程,消除线程组内的任务差异性,从而避免SIMD阵列中处理单元的闲置,提高GPU的性能。该方法在SIMT处理器中增加了两个功能单元:重组缓冲区、线程组槽。该方法借助重组缓冲区异步生成重组方案,使用线程组槽存储重组方案。与现有的线程重组方法相比,该异步方法不会带来线程组同步操作产生的SIMD流水线停顿,可使SIMT处理器取得更高性能。 | ||
搜索关键词: | 异步 线程 重组 方法 基于 simt 处理器 | ||
【主权项】:
1.一种异步线程重组方法,用于SIMT处理器,其特征在于:所述SIMT处理器包含:线程组池:存储SIMT处理器当前执行的线程组、调度器:负责在每个时钟周期从线程组池中选取一个就绪的线程组并将其分配到一个空闲的SIMD阵列上执行一条指令、一个或多个SIMD阵列:负责执行线程组指令、线程组槽:用于存储线程组,以及与所述线程组一一相对应的线程组信息、以及重组缓冲区:用于生成线程重组方案;其中,所述线程重组方案为线程重组后每个线程组包含的线程;其中,所述重组缓冲区由若干重组队列组成;所述重组队列存储的信息包括重组队列中的线程对应的指令PC值、重组队列中的线程的任务属性、以及任务属性相同的线程;其中,所述线程组槽存储当前时刻线程组中包含的线程且线程组槽的锁定标志体现线程组的锁定状态;所述方法包括以下工作流程:a)通过所述调度器选取一个线程组槽未被锁定的线程组;b)判断所述线程组是否存在任务差异性,若所述线程组不存在任务差异性,则将直接其分配到SIMD阵列执行;反之,设置所述线程组对应的线程组槽的锁定标志为锁定状态,将所述线程组槽中的线程按任务属性分组,任务属性相同的线程加入重组缓冲区中形成重组队列,所述新加入的线程的指令PC值和任务属性与先前位于所述重组队列的线程的指令PC值和任务属性相一致;c1)依次检查在步骤b)中被添加线程的重组队列,若当重组队列中的线程数满足一个或多个线程组所能容纳的线程数时,依次从重组队列中移除数量为线程组线程数的倍数的线程,打包成一个待写入线程组;c2)处理步骤c1)中的待写入线程组,将其写入至已被锁定的线程组槽内,所述被移入线程的线程组槽对应的线程组的指令PC值与相应的被移除线程的重组队列的指令PC值相同,重复步骤b),并解锁所述线程组槽;d)重复步骤a)~步骤c2)直至SIMT处理器上的程序执行完成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学苏州研究院,未经东南大学苏州研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610889217.1/,转载请声明来源钻瓜专利网。