[发明专利]用于GPU寄存器分配和并行度管理的协同优化编译方法在审
申请号: | 201610805632.4 | 申请日: | 2016-09-07 |
公开(公告)号: | CN106648546A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 梁云;谢小龙 | 申请(专利权)人: | 北京大学 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06F9/50 |
代理公司: | 北京万象新悦知识产权代理事务所(普通合伙)11360 | 代理人: | 黄凤茹 |
地址: | 100871*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 gpu 寄存器 分配 并行 管理 协同 优化 编译 方法 | ||
技术领域
本发明涉及寄存器分配编译技术,尤其涉及一种用于GPU寄存器分配和并行度管理的协同优化编译方法。
背景技术
寄存器的分配是计算机领域一种常见的编译问题。对于每一个程序,寄存器的数量往往是有限的,而程序所要使用的变量的数量可能会远远超过寄存器的数量。因此如果尽可能的程序的变量放到寄存器中、从而获得最大的性能,一直是计算机领域一个重要的基本问题。
寄存器的分配被认为是一个K染色问题。假设我们有N个变量和K个寄存器。通常,编译器首先通过数据流和控制流分析,获得所有N各变量的活跃时间。然后构建一个大小为N的图,每个顶点代表一个变量。如果两个变量的活跃时间有重叠,那么就在对应的两个顶点之间连一条线。最后,使用K种颜色对该图进行染色,并规定两个连接的顶点不能使用同一种颜色。如果染色成功,那么K个寄存器足以放入所有变量。如果染色失败,则需要删除一些顶点。被删除的顶点将会被放入到内存中。因此,寄存器的分配问题就被转化成了K染色问题。
但是,现有传统的寄存器分配算法仅适用于单线程程序。GPU(graphics processing unit),也就是图形处理器是中核架构。为了支撑大量线程的并发执行,GPU配备了大容量的寄存器堆。因此,GPU的寄存器分配不仅要考虑K个寄存器是否能够容纳N个变量,还要考虑给每个线程分配具体多少寄存器,也就是决定K的大小。而这是现有传统的寄存器分配算法没有考虑的,因此,现有寄存器分配算法无法支撑大量线程的并发执行。
发明内容
为了克服上述现有技术的不足,本发明提供一种GPU上寄存器分配的方法,是一种用于GPU的编译方法,涉及到寄存器分配和并行度管理两个方面的协同优化;该方法能够使得寄存器分配和并发度管理的优化同时进行,并且不引起缓存的竞争。在编译时,本发明同时考虑线程数、寄存器分配、缓存性能多个指标。
本发明提供的技术方案是:
一种寄存器分配编译方法,所述方法用于GPU寄存器分配和并行度管理协同优化的编译,使得寄存器的分配和并行度管理的优化同时进行,且不引起缓存的竞争;包括如下步骤:
A)收集寄存器分配参数、并行度参数和缓存性能参数;
B)通过步骤A中所获得的参数,列出所有可能的线程块数量TLP和寄存器数量Reg的组合;删除导致缓存竞争的组合和导致寄存器浪费的组合;
C)对剩下的组合进行寄存器分配,在寄存器的分配过程中,当出现部分变量无法放入寄存器时,尽量将这些寄存器放在共享内存中;当共享内存空间不足时,再把他们放置到片下存储中;
D)使用性能模型预测得到各个组合的性能,并选择性能最佳的组合,作为寄存器分配编译的结果。
针对上述寄存器分配编译方法,进一步地,A)所述寄存器分配参数包括每个线程至少获得的寄存器数量MinReg和每个线程最多需要的寄存器数量MaxReg;所述并行度参数包括不考虑寄存器的情况下每个GPU核上最多的的线程块数量MaxTLP和不引起缓存竞争的最多线程块数量OptTLP;缓存性能参数包括每个线程块在不引起线程数下降的情况下可获得的最多共享内存数量ShmSize。
针对上述寄存器分配编译方法,进一步地,B)所述导致缓存竞争的组合为每个GPU核心上的并发线程块数量TLP大于不引起缓存竞争的最多线程块数量OptTLP的组合;所述导致寄存器浪费的组合为寄存器Reg没有达到对应的TLP最大的寄存器数量的组合。
针对上述寄存器分配编译方法,进一步地,D)所述性能模型为:
TPSC=TLPgain×Spillcost
Spillcost=Numlocal×Costlocal+Numshm×Costshm+Numothers
其中,TPSC指的是最终的执行时间,越小越好。BlockSize指每个thread block的大小。Numlocal,Numshm,Numothers分别指本地存储指令(local memory)、共享存储指令和其他指令的数量。Costlocal,Costshm分别指本地存储指令、共享存储指令的周期数。性能最佳为所述最终的执行时间TPSC值最小。
与现有技术相比,本发明的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610805632.4/2.html,转载请声明来源钻瓜专利网。