[发明专利]协作式工作窃取调度器在审
申请号: | 202180008176.X | 申请日: | 2021-03-01 |
公开(公告)号: | CN114930292A | 公开(公告)日: | 2022-08-19 |
发明(设计)人: | M·尚皮尼 | 申请(专利权)人: | 雷声公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘文灿 |
地址: | 美国马*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 协作 工作 窃取 调度 | ||
1.一种用于在具有中央处理单元(CPU)和图形处理单元(GPU)的计算系统中使用的方法,所述方法包括:
将第一存储器部分和第二存储器部分指派给:(i)在所述CPU上被执行的工作窃取调度器的工作者线程,以及(ii)作为所述GPU的部分的执行单元;
从与所述工作者线程相关联的队列取回任务;
由所述工作者线程检测是否满足用于所述任务的截止条件;
当不满足所述截止条件时,将所述任务划分成两个或更多个附加任务,并且将所述两个或更多个附加任务添加到所述队列;
当满足所述截止条件时,将与所述任务相对应的第一数据存储在所述第二存储器部分中,所述第一数据由所述工作者线程存储在所述第二存储器部分中;
在所述第一数据被存储在所述第二存储器部分中之后,发出存储器栅栏获取指令;以及
将第一值存储在所述第一存储器部分中,所述第一值在所述存储器栅栏获取指令被发出之后由所述工作者线程存储,
其中,将所述第一值存储在所述第一存储器部分中使所述执行单元从第二存储器部分取回所述第一数据并且基于所述第一数据来执行所述任务。
2.根据权利要求1所述的方法,其中,所述第一存储器部分包括门铃寄存器,并且所述第二存储器部分包括任务寄存器。
3.根据权利要求1所述的方法,其中,所述执行单元包括多个GPU核心和在所述多个GPU核心之间共享的同步机制。
4.根据权利要求1所述的方法,其中,所述第一数据包括以下各项中的一项或多项:与所述任务相对应的操作码和用于执行所述任务的实参。
5.根据权利要求1所述的方法,还包括:当第二值由所述执行单元存储在所述第一存储器部分中时,检测到所述任务完成,所述检测由所述工作者线程执行。
6.根据权利要求1所述的方法,还包括:从所述第二存储器部分取回作为执行所述任务的结果而由所述执行单元生成的第二数据,所述第二数据是响应于检测到第二值已由所述执行单元存储在所述第一存储器部分中,而由所述工作者线程取回的。
7.根据权利要求1所述的方法,还包括:
从所述第二存储器部分取回所述第一数据,所述第一数据是响应于检测到所述第一值已由所述工作者线程存储在所述第一存储器部分中,而由所述执行单元取回的;以及
执行所述任务,所述任务由所述执行单元基于所述第一数据来执行。
8.根据权利要求7所述的方法,还包括:
将作为执行所述任务的结果而由所述执行单元生成的第二数据存储在所述第二存储器部分中;
在所述第二数据被存储在所述第二存储器部分中之后,发出存储器栅栏释放指令;以及
将指示所述任务完成的第二值存储在所述第一存储器部分中,在所述存储器栅栏释放指令被发出之后所述第二值由所述执行单元存储。
9.一种系统,包括:
具有执行单元的图形处理单元(GPU);
具有第一存储器部分和第二存储器部分的随机存取存储器;
中央处理单元(CPU),其被配置为执行工作窃取调度器,所述工作窃取调度器具有被配置为执行以下操作的工作者线程:
从与所述工作者线程相关联的队列取回任务;
检测是否满足用于所述任务的截止条件;
当不满足所述截止条件时,将所述任务划分成两个或更多个附加任务,并且将所述两个或更多个附加任务添加到所述队列;
当满足所述截止条件时,将与所述任务相对应的第一数据存储在所述第二存储器部分中;
在所述第一数据被存储在所述第二存储器部分中之后,发出存储器栅栏获取指令;以及
在所述存储器栅栏获取指令被发出之后,将第一值存储在所述第一存储器部分中,
其中,将所述第一值存储在所述第一存储器部分中使得所述执行单元从第二存储器部分取回所述第一数据并且基于所述第一数据来执行所述任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于雷声公司,未经雷声公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202180008176.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:二次电池用层叠体和二次电池
- 下一篇:对子图片的帧间预测的限制