[发明专利]使用功率的动态CPU GPU负载平衡有效
申请号: | 201280069225.1 | 申请日: | 2012-02-08 |
公开(公告)号: | CN104106053B | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | U·萨雷 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 张晰;王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 功率 动态 cpu gpu 负载 平衡 | ||
基于功率描述了动态CPU GPU负载平衡。在一个例子中,指令被接收,且中央处理核心(CPU)和图形处理核心(GPU)的功率值被接收。基于所接收到的功率值来选择CPU或GPU,且指令被发送到选定的核心用于处理。
技术领域
本发明涉及在CPU和GPU处理资源之间动态地平衡处理任务的负载。
背景技术
发展了通用图形处理单元(GPGPU)以允许图形处理单元(GPU)执行在传统上由中央处理单元(CPU)执行的一些任务。一般GPU的多个并行处理线程非常适合一些处理任务但不适合其它处理任务。最近,发展了操作系统以允许一些任务被指派给GPU。此外,发展了允许使用不同类型的处理资源来执行指令的框架,例如OpenCL(开放式计算语言)。
同时,一般由GPU执行的一些任务可由CPU执行,且存在能够将一些图形任务指派给CPU的可用的硬件和软件系统。包括在同一封装中或甚至在同一管芯上的CPU和GPU的集成异构系统使任务分配更有效。然而,很难在不同类型的处理资源之间找到任务的共享和平衡的最佳平衡。
各种不同的代理可用于估计在GPU和CPU上的负载。软件指令或数据队列可用于确定哪个核心更忙碌,并接着将任务指派给其它核心。类似地,可比较输出以确定在当前工作负载上的进展。也可监控在命令或执行流中的计数器。这些度量使用核心的工作负载提供核心的进展或结果的直接测量。然而,这样的度量的集合需要资源,且不指示核心的潜在能力,只有它如何对付它被给予的东西。
发明内容
本发明提供了一种方法,包括:从运行在计算系统的上的软件应用接收指令;确定所述指令能够被分配;接收所述计算系统的中央处理核心(CPU)和图形处理核心(GPU)中的至少一个的功率值;使用所接收到的功率值而确定所述CPU和所述GPU中的至少一个的功率预算;确定所述指令的所述软件的类型;基于所确定的软件的类型而调节所确定的所述CPU和所述GPU中的至少一个的功率预算;将CPU预算和GPU预算中的至少一个与阈值进行比较;基于所述所接收到的功率值以及所述比较,从所述CPU和所述GPU当中选择核心;以及将所述指令发送到选定的核心用于处理。
本发明还提供了一种用于在处理核心中管理功率的装置,包括:用于从运行在计算系统的上的软件应用接收指令的单元;用于确定所述指令能够被分配的单元;用于从功率控制单元(PCU)接收中央处理核心(CPU)和图形处理核心(GPU)中的至少一个的功率值的单元;用于使用所接收到的功率值而确定所述CPU和所述GPU中的至少一个的功率预算的单元;用于确定所述指令的所述软件的类型的单元;用于基于所述软件的类型而调节所确定的所述CPU和所述GPU中的至少一个的功率预算的单元;用于将CPU预算和GPU预算中的至少一个与阈值进行比较的单元;用于基于所述所接收到的功率值和所述比较,从所述CPU和所述GPU当中选择核心的单元;以及用于将所述指令发送到选定的核心用于处理的单元。
本发明还提供了一种装置,包括:处理驱动器,用于从运行在计算系统的上的软件应用接收指令;功率控制单元,用于将中央处理核心(CPU)和图形处理核心(GPU)中的至少一个的功率值发送到负载平衡引擎;以及所述负载平衡引擎,用于确定所述指令能够被分配,用于使用所接收到的功率值而确定所述CPU和所述GPU中的至少一个的功率预算,用于确定所述指令的所述软件的类型,用于基于所述软件的类型而调节所确定的所述CPU和所述GPU中的至少一个的功率预算,用于将CPU预算和GPU预算中的至少一个与阈值进行比较,用于基于所述所接收到的功率值和所述比较,从所述CPU和所述GPU当中选择核心,并且用于将所述指令发送到选定的核心用于处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280069225.1/2.html,转载请声明来源钻瓜专利网。