在GPU中的任务调度制造技术

技术编号:17616052 阅读:95 留言:0更新日期:2018-04-04 07:09
本申请涉及在GPU内的任务调度。描述了在GPU或其他高度并行处理单元内调度任务的方法,其是年龄感知和唤醒事件驱动的。接收到的任务被添加到基于年龄的任务队列。任务类型或者任务类型和数据组的组合的唤醒事件位响应于任务相关性的完成来进行设置,并且这些唤醒事件位用于从队列中选择满足预定义标准的最旧的任务。

Task scheduling in GPU

This application involves task scheduling within the GPU. A method of scheduling tasks in GPU or other highly parallel processing units is described, which is driven by age awareness and wake-up events. The received tasks are added to the age based task queue. The wakeup bit of a task type or task type and data set is set up in response to the completion of task relevance, and these wakeup bit bits are used to select the oldest tasks that meet the predefined standard from the queue.

【技术实现步骤摘要】
在GPU中的任务调度
本申请涉及,但不限于,在GPU中的任务调度。背景图形处理单元(GPU)包括高度并行的结构,其被设计为并行地对大量数据进行高效处理。GPU通常用于计算机图形(例如,在屏幕上渲染3D图像),但是它们也可用于受益于其所提供的并行性的其他操作。以下所描述的实施例仅通过示例来提供,并且不限于解决已知GPU的任何或所有缺点的实现。概述提供本概述来以简化的形式引入概念的选择,以下在详细描述中对这些概念进一步描述。本概述并非旨在确定要求保护的主题的关键特征或必要特征,亦非旨在用于限定要求保护的主题的范围。描述了在GPU或其他高度并行处理单元内调度任务的方法,其是年龄感知(age-aware)和唤醒事件驱动的。收到的任务被添加到基于年龄的任务队列(age-basedtaskqueue)。任务类型或者任务类型和数据组的组合的唤醒事件位响应于任务相关性的完成来进行设置,并且这些唤醒事件位用于从满足预定义标准的队列中选择最旧的任务。第一方面提供了在处理器内调度任务的方法,每个任务具有任务类型标识符,该方法包括:响应于在任务调度引擎处接收到任务队列中的任务的相关性完成的指示,更新与所本文档来自技高网...
在GPU中的任务调度

【技术保护点】
一种在处理器内调度任务队列中的任务的方法,所述任务队列包括具有任务类型标识符和识别任何任务特定的相关性的相关联的状态数据的任务,所述方法包括:响应于在任务调度引擎处接收到所述任务队列中的任务的相关性完成的指示(302),更新与所完成的相关性相关的所述任务的所述状态数据(304)以指示所述相关性已完成,并更新所述处理器的唤醒事件状态数据以指示所述任务的任务类型标识符的唤醒事件(306);基于指示唤醒事件的所述唤醒事件状态数据来识别一个或更多个候选任务类型(402);选择所述候选任务类型中的一个(404);识别所述任务队列中所选择的候选任务类型的最旧的未执行的任务(406);以及响应于确定所选择的...

【技术特征摘要】
2016.09.23 GB 1616244.8;2016.09.23 US 62/398,7471.一种在处理器内调度任务队列中的任务的方法,所述任务队列包括具有任务类型标识符和识别任何任务特定的相关性的相关联的状态数据的任务,所述方法包括:响应于在任务调度引擎处接收到所述任务队列中的任务的相关性完成的指示(302),更新与所完成的相关性相关的所述任务的所述状态数据(304)以指示所述相关性已完成,并更新所述处理器的唤醒事件状态数据以指示所述任务的任务类型标识符的唤醒事件(306);基于指示唤醒事件的所述唤醒事件状态数据来识别一个或更多个候选任务类型(402);选择所述候选任务类型中的一个(404);识别所述任务队列中所选择的候选任务类型的最旧的未执行的任务(406);以及响应于确定所选择的候选任务类型的所识别的最旧的未执行的任务其所有相关性被满足(408),选择所述任务以用于执行(410)。2.根据权利要求1所述的方法,其中,更新与所完成的相关性相关的所述任务的所述状态数据包括清除与所完成的相关性相关的所述任务的状态位。3.根据权利要求1所述的方法,其中,更新所述任务的所述任务类型标识符的唤醒事件状态数据包括设置与所述任务的所述任务类型标识符对应的任务类型的唤醒事件状态位。4.根据权利要求1所述的方法,其中,所述任务具有所述任务类型标识符和数据组标识符二者,其中,所述唤醒事件状态数据针对与所述任务的所述任务类型标识符对应的任务类型和与所述任务的所述数据组标识符对应的数据组的组合被更新,以及其中,识别所述任务队列中的所选择的候选任务类型的最旧的未执行的任务包括:识别所述任务队列中的、是所选择的候选任务类型且具有与已被更新的唤醒事件状态数据对应的任务类型标识符和数据组标识符的最旧的未执行的任务。5.根据权利要求4所述的方法,其中,唤醒事件状态位针对与所述任务的所述任务类型标识符对应的所述任务类型和与所述任务的所述数据组标识符对应的所述数据组的组合被设置,并且识别所述任务队列中的、是所选择的候选任务类型且具有与已被更新的唤醒事件状态数据对应的任务类型标识符和数据组标识符的最旧的未执行的任务包括:识别所述任务队列中的、是所选择的候选任务类型且具有与已被设置的唤醒事件状态位对应的任务类型标识符和数据组标识符的最旧的未执行的任务。6.根据权利要求4所述的方法,还包括:响应于确定所选择的候选任务类型的所识别的最旧的未执行的任务其所有相关性没有都被满足,清除所识别的最旧的未执行的任务的所述任务类型标识符和所述数据组标识符的所述唤醒事件状态数据(412);以及识别所述任务队列中的、是所选择的候选任务类型且具有与已被更新的唤醒事件状态数据对应的任务类型标识符和数据组标识符的另一个最旧的未执行的任务(406)。7.根据权利要求1所述的方法,还包括:响应于在所述任务调度引擎处接收到任务(202),将所接收的任务添加到所述任务队列(204)并设置所接收的任务的状态数据以识别所接收的任务的任何相关性(206)。8.根据权利要求1所述的方法,还包括:响应于在所述任务调度引擎处接收到所述任务已完成执行的指示(502),将所述任务从所述任务队列中移除(504)。9.根据权利要求1所述的方法,还包括:响应于在所述任务调度引擎处接收到所述任务已完成执行的指示(502),确定所述任务是否是多阶段任务的第一阶段任务(506);响应于确定所述任务不是多阶段任务的第一阶段任务,将所述任务从所述任务队列中移除(504);以及响应于确定所述任务是多阶段任务的第一阶段任务,对所述多阶段任务的第二阶段任务进行调度。10.根据权利要求9所述的方法,其中,识别所述任务队列中所选择的候选任务类型的最旧的未执行的任务还包括使对作为多阶段任务的第二阶段任务的任务的识别优先于对不是第二阶段任务的任务的识别。11.根据权利要求1所述的方法,其中,所述处理器是GPU。12.根据权利要求1所述的方法,其中,任务定义要在一组数据上运行的程序。13.一种用于处理器(100)的调度器(102),包括:任务调度引擎(106);任务队列(108),所述任务队列包括具有任务类型标识符和识别任何任务特定的相关性的相关联的状态数据的任务;以及数据存储装置,所述数据存储装置被布置为存储唤醒状态数据(109),以及其中,所述任务调度引擎(106)包括:第一硬件逻辑块,所述第一硬件逻辑块被布置为响应于接收到所述任务队列中的任务的相关性完成的指示,通过清除与所完成的相关性相关的所述任务的状态数据来更新所述任务的所述状态数据(304)以指示所述相关性已完成,并更新所述处理器的唤醒事件状态数据以指...

【专利技术属性】
技术研发人员:西蒙·尼尔德亚当·德格拉斯卢卡·尤利亚诺奥利·莫厄尔YC·弗
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国,GB

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1