[发明专利]基于弹性持久的线程块的任务调度方法、系统及GPU在审
申请号: | 202111230110.3 | 申请日: | 2021-10-20 |
公开(公告)号: | CN114003359A | 公开(公告)日: | 2022-02-01 |
发明(设计)人: | 陈全;过敏意;赵涵;崔炜皞 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/448;G06T1/20 |
代理公司: | 上海光华专利事务所(普通合伙) 31219 | 代理人: | 庞红芳 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 弹性 持久 线程 任务 调度 方法 系统 gpu | ||
1.一种基于弹性持久的线程块的任务调度方法,其特征在于:所述方法包括:
对于每一个GPU内核函数,使用源对源编译的方式将该内核函数,转换为使用弹性持久线程块的函数版本,进而减少了内核函数的资源占用;
对于每一个可能的混跑的内核函数对,使用混跑重合率判断两个混跑的内核函数的吞吐性能,进而找到最优的混跑配置;
对于实时到来的内核函数,基于混跑重合率来构建混跑的内核函数对,以获得最大的吞吐。
2.根据权利要求1所述的基于弹性持久的线程块的任务调度方法,其特征在于:所述对于每一个GPU内核函数,使用源对源编译的方式将该内核函数,转换为使用弹性持久线程块的函数版本包括:
首先,将每一个GPU内核函数转换为使用持久线程块的函数版本,持久线程块数被配置为最优的持久线程块数;
其次,将每一个GPU内核函数转换为使用弹性持久线程块的函数版本,也就是多个使用不同线程块大小的函数版本;
最后,在每一个GPU内核函数被转换为弹性持久线程块的函数版本后,内核函数的资源占用被减少。
3.根据权利要求2所述的基于弹性持久的线程块的任务调度方法,其特征在于:所述内核函数最优的持久线程块数为它与原始GPU内存内核函数性能相等的最小线程块数量。
4.根据权利要求2所述的基于弹性持久的线程块的任务调度方法,其特征在于:所述弹性持久的线程块为比原始线程块尺寸小的持久线程块;基于弹性持久线程块,GPU内核函数有几种不同线程块尺寸的函数版本。
5.根据权利要求2所述的基于弹性持久的线程块的任务调度方法,其特征在于:在每一个GPU内核函数被转换为弹性持久线程块的函数版本后,内核函数的资源占用被减少;持久线程块减少了线程槽的占用,弹性线程块减少了共享内存和寄存器的占用。
6.根据权利要求1所述的基于弹性持久的线程块的任务调度方法,其特征在于:所述对于每一个可能的混跑的内核函数对,使用混跑重合率判断两个混跑的内核函数的吞吐性能,进而找到最优的混跑配置包括:
首先,对每一个GPU内核函数的弹性持久线程块函数版本,搜索其最优的持久块数量;
其次,对于每一个可能的混跑的内核函数对,基于混跑重合率,来搜索每个函数最优的混跑配置,即他们获得最优混跑性能的函数版本。
7.根据权利要求6所述的基于弹性持久的线程块的任务调度方法,其特征在于:所述GPU内核函数在流式多处理器上的最大驻留的线程块数量通过单个区块使用的资源量和流式多处理器上的资源总量计算得到。
8.根据权利要求6所述的基于弹性持久的线程块的任务调度方法,其特征在于:所述对于每一个可能的混跑的内核函数对,基于混跑重合率来搜索每个函数最优的混跑配置,即他们获得最优混跑性能的函数版本包括:
对于每个混跑内核函数对,尝试所有的函数版本对,以找到最优混跑重合率的函数版本对,即最优的混跑配置;
在此过程中,若一个函数版本对使用的资源量和超过了流处理器的资源总量,则跳过该函数版本对的性能测试,并丢弃该函数版本对;
在此过程中,若一个函数版本对中的一个函数的性能下降超过了设定的阈值,则跳过该函数版本对的性能测试,并丢弃该函数版本对。
9.根据权利要求1所述的基于弹性持久的线程块的任务调度方法,其特征在于:所述对于实时到来的内核函数,基于混跑重合率来构建混跑的内核函数对,以获得最大的吞吐包括:基于在线任务的到来和内核间的时序关系,基于混跑重合率,实时决定内核的发射和混跑。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111230110.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:胎圈锁定部分、半部鼓及轮胎成型机
- 下一篇:一种可进行热熔弯曲的PE电力管