首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

指令依赖的GPGPU编译器与流水线的处理方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:山东浪潮科学研究院有限公司

摘要:本申请涉及计算机技术领域,公开了一种指令依赖的GPGPU编译器与流水线的处理方法,通过插入依赖数据寄存器来暂存依赖指令的中间计算结果,将五级流水线缩减为四级流水线,节省了写回阶段与读取阶段操作数的内存读写时间,提高了运算效率,并且减少了全局内存的带宽占用,减少了与其他线程束的内存竞争概率。优化后的流水线使得编译过程无需无效指令等待流水线即可完成依赖运算,极大地提高了编译效率,降低了编译复杂度。并且,依赖数据寄存器的使用,避免了传统L1Cache因为溢出导致的外部访存,掩藏了部分线程束调度延时。

主权项:1.一种指令依赖的GPGPU编译器与流水线的处理方法,其特征在于,所述方法应用于包括Host和GPGPU的系统;所述方法包括:将待处理的依赖性运算进行编译,生成两条指令;对第一条指令进行解码,判断操作数内存类型是否是DReg,若为否,则根据操作数地址从相应内存中读取操作数,通过判断dependflag[0]确定流水线是否进入依赖运算模式,在依赖运算模式下,指令执行运算完成后,通过判断dependflag[1]确定对计算结果的处理,将计算结果存储在依赖数据寄存器DReg[0],之后生成execute_done信号输出;通过判断dependflag[1]确定流水线完成阶段,若为0,则表示流水线无写回阶段,选择Execute_done作为Pipeline_done信号,将Pipeline_done输入WarpSchedule模块,WarpSchedule模块启动流水线的下一次取指操作;对第二条指令进行解码,判断操作数内存类型是否是DReg,若为是,表示操作数存储在DReg,生成依赖寄存器读取使能rd_en,跳过读取;若操作数内存类型为否,则根据操作数地址从相应内存中读取操作数,判断dependflag[0]确定流水线是否进入依赖运算模式,在依赖运算模式下,若监测到rd_en信号,则根据dependflag[4:2],将依赖数据寄存器DReg[0]的数据与第二操作数进行加法运算,计算完成后,通过判断dependflag[1]确定对计算结果的处理,该条指令dependflag[1]为1,将计算结果送往写回阶段,流水线进入写回阶段,将结果写回内存,之后生成Write_done信号输出;若dependflag[1]为1,则表示流水线有写回阶段,选择Write_done作为Pipeline_done信号,将Pipeline_done输入WarpSchedule模块,以用于WarpSchedule模块启动流水线的下一次取指操作。

全文数据:

权利要求:

百度查询: 山东浪潮科学研究院有限公司 指令依赖的GPGPU编译器与流水线的处理方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。