[发明专利]用于GPU寄存器分配和并行度管理的协同优化编译方法在审
| 申请号: | 201610805632.4 | 申请日: | 2016-09-07 |
| 公开(公告)号: | CN106648546A | 公开(公告)日: | 2017-05-10 |
| 发明(设计)人: | 梁云;谢小龙 | 申请(专利权)人: | 北京大学 |
| 主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06F9/50 |
| 代理公司: | 北京万象新悦知识产权代理事务所(普通合伙)11360 | 代理人: | 黄凤茹 |
| 地址: | 100871*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 gpu 寄存器 分配 并行 管理 协同 优化 编译 方法 | ||
1.一种协同优化编译方法,所述方法用于GPU寄存器分配和并行度管理协同优化的编译,使得寄存器的分配和并行度管理的优化同时进行,且不引起缓存的竞争;包括如下步骤:
A)收集寄存器分配参数、并行度管理参数和缓存性能参数;
B)通过步骤A中所获得的参数,列出所有可能的线程块数量TLP和寄存器数量Reg的组合;删除导致缓存竞争的组合和导致寄存器浪费的组合;
C)对剩下的线程块数量TLP和寄存器数量Reg的组合进行寄存器分配,在寄存器的分配过程中,用染色算法将该程序的所有变量放入数量为Reg的寄存器中;当出现部分变量无法放入到Reg个寄存器时,将所述部分变量放在共享内存中;当共享内存空间不足时,再把所述部分变量放置到片下存储中;
D)使用性能模型预测得到各个组合的性能,并选择性能最佳的组合,作为寄存器分配编译的结果。
2.如权利要求1所述协同优化编译方法,其特征是,A)所述寄存器分配参数包括每个线程至少获得的寄存器数量MinReg和每个线程最多需要的寄存器数量MaxReg;所述并行度参数包括不考虑寄存器的情况下每个GPU核上最多的的线程块数量MaxTLP和不引起缓存竞争的最多线程块数量OptTLP;缓存性能参数包括每个线程块在不引起线程数下降的情况下可获得的最多共享内存数量ShmSize。
3.如权利要求1所述协同优化编译方法,其特征是,B)所述导致缓存竞争的组合为每个GPU核心上的并发线程块数量TLP大于不引起缓存竞争的最多线程块数量OptTLP的组合;所述导致寄存器浪费的组合为寄存器Reg没有达到对应的TLP最大的寄存器数量的组合。
4.如权利要求1所述协同优化编译方法,其特征是,D)所述性能模型为:
(2)Spillcost=Numlocal×Costlocal+Numshm×Costshm+Numothers
(3)TPSC=TLPgain×Spillcost
其中:公式(1)中,TLPgain表示由于每个GPU核心上的并发线程块数量(TLP)的提高,GPU程序的执行时间的变化;TLP表示该组合的线程并行度;BlockSize值该GPU程序中每个线程块(Thread block)的大小;MaxThread表示该GPU中每个核心所允许的最大并发线程数;公式(2)中,参数Spillcost表示寄存器分配对于GPU应用执行时间的影响;Num-local、Numshm、Numothers分别指本地存储指令(local memory)、共享存储指令和其他指令的数量;Costlocal,Costshm分别指本地存储指令、共享存储指令的周期数;公式(3)中,参数TPSC是最终的执行时间。
5.如权利要求4所述协同优化编译方法,其特征是,所述性能最佳为所述最终的执行时间TPSC值最小[TLP,Reg]组合,作为寄存器分配和并行度的优化结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610805632.4/1.html,转载请声明来源钻瓜专利网。





