The operation of GPU is controlled based on the time required to perform one or more deadlines of one or more GPU tasks and the time required to complete (the currently executing) first GPU task and the time required to execute one or more other GPU tasks (currently not executed). Based on the comparison between deadlines and estimates, context switches can be triggered or not triggered.
【技术实现步骤摘要】
【国外来华专利技术】控制GPU的调度背景图形处理器单元(GPU)是具有高度并行结构并且通常用于诸如纹理映射和渲染多边形的图形操作的处理器,GPU(其也可以被称为VPU)也可以用于非图形应用,例如执行数据并行计算。GPU可以运行几个进程,并且GPU内的调度系统选择下一个运行哪个进程。通常,基于同步(即,以由任务的相互依赖性确定的顺序运行任务)和优先级(即,在较低优先级任务之前运行较高优先级任务)来执行调度。如果启用了上下文切换,则一旦能够运行较高优先级任务(即,其未被同步阻止),则较高优先级任务(例如,与用户交互相关联的渲染任务)将中断较低优先级任务(例如,实况壁纸的渲染)。下面所述的实施方式仅作为例子被提供且不是解决控制GPU内的调度的已知方法的任何或所有缺点的实现的限制。概述提供专利技术概述来以简化形式引入在以下详细描述中将进一步描述的概念选择。这个概述并不打算识别所主张的主题的关键特征或必要特征,也不打算用作在确定所主张的主题的范围时的帮助。基于必须完成一个或更多个GPU任务的一个或更多个最后期限以及完成(当前正在执行的)第一GPU任务的执行所需的时间和执行(当前未执行的)一个或更多个其他GPU任务所需的时间的估计来控制GPU的操作。基于最后期限与估计之间的比较,可以触发或可以不触发上下文切换。第一方面提供了调度GPU内的任务的方法,该方法包括:在执行第一GPU任务时,响应于第二GPU任务准备好运行,确定所述第一GPU任务和所述第二GPU任务中的哪一个具有较高优先级;响应于确定所述第二GPU任务具有比当前执行的所述第一GPU任务更高的优先级;估计所述第一GPU任务和所述第二 ...
【技术保护点】
1.一种调度GPU内的任务的方法,所述方法包括:在执行第一GPU任务(302)时,响应于第二GPU任务准备好运行(304),确定所述第一GPU任务和所述第二GPU任务中的哪一个具有较高优先级(306);和响应于确定所述第二GPU任务具有比当前执行的所述第一GPU任务更高的优先级;估计所述第一GPU任务和所述第二GPU任务中的每一个的完成时间(312);使用所估计的完成时间来确定所述第一GPU任务和所述第二GPU任务是否能够在与所述第二GPU任务相关联的最后期限之前完成(314);以及响应于确定所述第一GPU任务和所述第二GPU任务都能够在与所述第二GPU任务相关联的最后期限之前完成,允许所述第一GPU任务继续执行(308、330)并设置定时器(330);以及响应于所述定时器在完成所述第一GPU任务的执行之前超时(322),中断所述第一GPU任务的执行并执行所述第二GPU任务(326)。
【技术特征摘要】
【国外来华专利技术】2015.12.18 GB 1522461.11.一种调度GPU内的任务的方法,所述方法包括:在执行第一GPU任务(302)时,响应于第二GPU任务准备好运行(304),确定所述第一GPU任务和所述第二GPU任务中的哪一个具有较高优先级(306);和响应于确定所述第二GPU任务具有比当前执行的所述第一GPU任务更高的优先级;估计所述第一GPU任务和所述第二GPU任务中的每一个的完成时间(312);使用所估计的完成时间来确定所述第一GPU任务和所述第二GPU任务是否能够在与所述第二GPU任务相关联的最后期限之前完成(314);以及响应于确定所述第一GPU任务和所述第二GPU任务都能够在与所述第二GPU任务相关联的最后期限之前完成,允许所述第一GPU任务继续执行(308、330)并设置定时器(330);以及响应于所述定时器在完成所述第一GPU任务的执行之前超时(322),中断所述第一GPU任务的执行并执行所述第二GPU任务(326)。2.根据权利要求1所述的方法,还包括:响应于确定所述第一GPU任务和所述第二GPU任务不能都在与所述第二GPU任务相关联的最后期限之前完成,中断所述第一GPU任务的执行并且执行所述第二GPU任务(326)。3.根据权利要求1或2所述的方法,其中,允许所述第一GPU任务继续执行包括:允许完成第一任务的执行(308)。4.根据权利要求1所述的方法,还包括:响应于确定所述第一GPU任务和所述第二GPU任务不能都在与所述第二GPU任务相关联的最后期限之前完成,增加所述GPU的操作频率(334)并允许所述第一GPU任务在执行所述第二GPU任务(310)之前继续执行(308)。5.根据前述权利要求中任一项所述的方法,其中,估计所述第一GPU任务和所述第二GPU任务中的每一个的完成时间包括,对于每个GPU任务:识别所述GPU任务的一个或更多个工作负载特性(316);访问每个识别的工作负载特性的存储的统计信息(318);和使用所识别的工作负载特性的所存储的统计信息生成所述GPU任务的估计的完成时间(320)。6.根据前述权利要求中的任一项所述的方法,还包括:确定与所述第二GPU任务相关联的最后期限(324)。7.根据权利要求6所述的方法,其中,基于显示刷新率来确定与所述第二GPU任务相关联的最后期限。8.根据前述权利要求中的任一项所述的方法,还包括:更新与所述第一GPU任务和/或所述第二GPU任务相关联的所存储的统计信息(322)。9.根据前述权利要求中的任一项所述的方法,其中,所述第一GPU任务和所述第二GPU任务是图形任务。10.根据权利要求9所述的方法,其中,所述第一GPU任务和所述第二GPU任务是渲染任务。11.根据前述权利要求中任一项所述的方法,其中,所述GPU包括微控制器。12.一种GPU(100),包括微控制器(102),其中所述微控制器被配置为:在执行第一GPU任务(302)时,响应于第二GPU任务准备好运行(304),确定所述第一GPU任务和所述第二GPU任务中的哪一个具有较高优先级(306);和响应于确定所述第二GPU任务具有比当前执行的所述第一GPU任务更高的优先级;估计所述第一GPU任务和所述第二GPU任务中的每一个的完成时间(312);使用所估计的完成时间来确定所述第一GPU任务和所述第二GPU任务是否能够在与所述第二GPU任务相关联的最后期限之前完成(314);以及响应于确定所述第一GPU任务和所述第二GPU任务都能够在与所述第二GPU任务相关联的最后期限之前完成,...
【专利技术属性】
技术研发人员:戴夫·罗伯茨,杰克逊·德索扎,
申请(专利权)人:想象技术有限公司,
类型:发明
国别省市:英国,GB
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。