CN106258011A - 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化 - Google Patents

用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化 Download PDF

Info

Publication number
CN106258011A
CN106258011A CN201580022602.XA CN201580022602A CN106258011A CN 106258011 A CN106258011 A CN 106258011A CN 201580022602 A CN201580022602 A CN 201580022602A CN 106258011 A CN106258011 A CN 106258011A
Authority
CN
China
Prior art keywords
gpu
cpu
dcvs
level
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580022602.XA
Other languages
English (en)
Other versions
CN106258011B (zh
Inventor
H·J·朴
Y·H·康
M·蒙达尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN106258011A publication Critical patent/CN106258011A/zh
Application granted granted Critical
Publication of CN106258011B publication Critical patent/CN106258011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Abstract

公开了用于使图形帧处理中的功耗最小化的***、方法和计算机程序。一种这样的方法包括:发起将由中央处理单元(CPU)和图形处理单元(GPU)协作地执行的图形帧处理;接收CPU活动数据和GPU活动数据;确定针对所述GPU和所述CPU的可用的动态时钟和电压/频率缩放(DCVS)水平的集合;以及基于所述CPU和GPU活动数据,从所述可用的DCVS水平的集合中选择GPU DCVS水平和CPU DCVS水平的最优组合,所述GPU DCVS水平和CPU DCVS水平的最优组合使在所述图形帧处理期间,所述CPU和所述GPU的组合功耗最小化。

Description

用于降低图形帧处理中的功耗的CPU/GPU DCVS协同优化
背景技术
便携式计算设备(例如,蜂窝电话、智能电话、平板型计算机、便携式数字助理(PDA)以及便携式游戏控制台)持续提供不断扩展的大批特征和服务,并且向用户提供对信息、资源和通信的前所未有的水平的接入。为了跟上这些服务增强,这种设备变得更强大、更复杂。便携式计算设备现在通常包括片上***(SoC)和/或嵌在单个基板(例如,中央处理单元(CPU)、图形处理单元(GPU)等)上的多个微处理器内核,这允许用户执行复杂的和功率密集型的软件应用。然而,增加的性能和功能要求对管理电池寿命和功耗提出了显著的设计和操作挑战。
用于管理多处理器设备的功耗的现有方法可能涉及动态时钟和电压缩放(DCVS)技术。DCVS涉及选择性地调整施加到处理器、硬件设备等的频率和/或电压,以产生期望的性能和/或功率效率特性。常规的DCVS解决办法表现出多个性能问题,并且实现针对多内核处理***的每个内核来对频率/电压进行正确地缩放的有效的DCVS方法是重要的和有挑战性的设计标准。例如,用于多处理器***(例如,包括CPU和GPU的***)的DCVS技术要求每个处理器包括单独的DCVS模块/过程和/或独立于其它处理器来调整处理器频率/电压。此外,当执行图形帧处理时,单独的CPU和/或GPU DCVS算法被设计为在帧处理截止期限所给出的约束内优化性能,而不考虑功率效率优化。
因此,在本领域仍然存在对用于针对多处理器***中的功率效率来优化DCVS的改进的***和方法的需求。
发明内容
公开了用于使图形帧处理中的功耗最小化的***、方法和计算机程序。一种这样的方法包括:发起将由中央处理单元(CPU)和图形处理单元(GPU)协作地执行的图形帧处理;接收CPU活动数据和GPU活动数据;确定所述GPU和所述CPU的可用的动态时钟和电压/频率缩放(DCVS)水平的集合;以及基于所述CPU和GPU活动数据,从所述可用的DCVS水平的集合中选择GPU DCVS水平和CPU DCVS水平的最优组合,所述GPU DCVS水平和CPU DCVS水平的最优组合使在所述图形帧处理期间,所述CPU和所述GPU的组合功耗最小化。
另一个实施例包括一种用于使图形帧处理中的功耗最小化的***。一种这样的***包括片上***(SoC),所述片上***包括:中央处理单元(CPU);图形处理单元(GPU);以及与所述GPU和所述CPU相通信的动态时钟电压和缩放(DCVS)控制器。CPU/GPU DCVS协同优化模块被配置为:基于CPU和GPU活动数据,确定用于所述DCVS控制器的GPU DCVS水平和CPUDCVS水平的最优组合。选择所述GPU和CPU DCVS水平的所述最优组合,以使在图形帧处理期间,所述CPU和所述GPU的组合功耗最小化。
附图说明
在附图中,除非另外指示,否则遍及各个视图,相似的附图标记指代相似的部分。对于具有诸如“102A”或“102B”的字母字符标记的附图标记,字母字符标记可以区分出现在同一附图中的两个相似的部分或元素。当旨在使附图标记涵盖在所有附图中具有相同附图标记的所有部分时,可以省略附图标记的字母字符标记。
图1是用于在图形帧处理中协同优化中央处理单元(CPU)和图形处理单元(GPU)动态时钟和电压/频率缩放(DCVS)的***的实施例的框图。
图2是在图1的***中实现的、用于根据检测到的图形工作负荷类型来选择DCVS协同优化算法的方法的实施例的流程图。
图3是示出了图1的***中的CPU/GPU DCVS协同优化模块的示例性数据输入和输出的框图。
图4是示出了在图1的***中实现的、用于协同优化CPU和GPU DCVS以使图形帧处理期间的功耗最小化的方法的实施例的流程图。
图5a-5c是示出了用于CPU/GPU串行化图形工作负荷的CPU/GPU DCVS协同优化方法的实施例的一系列定时图。
图6是示出了用于在第一CPU/GPU温度下针对图形帧处理期间的最小组合功耗来协同优化GPU和CPU DCVS水平的示例性CPU/GPU频率空间的数据表格。
图7示出了针对第二CPU/GPU温度的图6的数据表格。
图8示出了针对第三CPU/GPU温度的图6的数据表格。
图9示出了用于实现梯度下降搜索方法的CPU/GPU DCVS协同优化算法的实施例。
图10是在图1的***中实现的、用于针对CPU/GPU并行化图形工作负荷来协同优化CPU/GPU DCVS水平的方法的实施例的流程图。
图11a和11b是示出了用于CPU/GPU并行化图形工作负荷的CPU/GPU DCVS协同优化方法的实施例的一系列定时图。
图12是包括图1的***的便携式计算机设备的实施例的框图。
具体实施方式
本文使用的词语“示例性”意味着“作为示例、实例或说明”。本文中描述为“示例性”的任何方面不必被解释为优选于其它方面或者比其它方面有优势。
在本描述中,术语“应用”还可以包括具有可执行内容(诸如:对象代码、脚本、字节代码、标记语言文件以及补丁)的文件。另外,本文中所引用的“应用”还可以包括本质上不可执行的文件(诸如可能需要被打开的文档或需要被访问的其它数据文件)。
术语“内容”还可以包括可执行内容(诸如:对象代码、脚本、字节代码、标记语言文件以及补丁)的文件。另外,本文中所引用的“内容”还可以包括本质上不可执行的文件(诸如可能需要被打开的文档或需要被访问的其它数据文件)。
如在本描述中使用的,术语“组件”、“数据库”、“模块”、“***”等旨在指代计算机相关的实体,要么是硬件、固件、硬件和软件的组合、软件,要么是执行中的软件。例如,组件可以是,但不限于是:在处理器上运行的过程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。通过说明的方式,在计算设备运行上的应用和计算设备二者可以是组件。一个或多个组件可以存在于过程和/或执行的线程中,并且组件可以位于一个计算机中和/或分布在两个或更多计算机之间。此外,这些组件可以从具有在其上存储的各种数据结构的各种计算机可读介质中执行。组件可以诸如根据具有一个或多个数据分组(例如,来自与本地***、分布式***中的另一个组件进行交互,和/或跨诸如互联网的网络通过信号的方式与其它***进行交互的一个组件的数据)的信号通过本地和/或远程过程进行通信。
在本描述中,术语“通信设备”、“无线设备”、“无线电话”、“无线通信设备”以及“无线手持设备”可被互换地使用。随着第三代(“3G”)无线技术和***(“4G”)的到来,更大的带宽可用性已经实现了具有更多种无线能力的更便携的计算设备。因此,便携式计算设备可以包括蜂窝电话、寻呼机、PDA、智能电话、导航设备、或具有无线连接或链路的手持计算机。
图1示出了用于在图形帧处理期间协同优化中央处理单元(CPU)106和图形处理单元(GPU)104的动态时钟和电压/频率缩放(DCVS)水平(被称为“CPU/GPU DCVS协同优化”)的***100。图形帧处理可以涉及其中CPU 106和GPU 104协作地执行帧处理的任何工作负荷。例如,图形帧处理可以涉及CPU/GPU串行化工作负荷和/或CPU/GPU并行化工作负荷。如本领域已知的,CPU/GPU串行化工作负荷涉及由CPU 106和GPU 104针对每个图形帧所进行的连续处理。针对每个帧,CPU 106开始处理并且将输出提供给GPU 104,所述GPU 104执行额外的处理。GPU 104经由例如移动显示处理器来将作为结果的输出传送给显示器110。
本领域的普通技术人员将认识到的是,CPU/GPU并行化工作负荷涉及由CPU 106和GPU 104进行的并行处理。CPU 106开始针对帧(n)的处理并且将作为结果的输出存储在存储器126的帧缓冲器128中。在下一时段期间,GPU 104取回存储在帧缓冲器128中的输出并且执行针对帧(n)的额外的处理,同时CPU 106处理帧(n+1)并且将相应的结果存储在帧缓冲器128中。该过程针对每个后续帧进行重复。虽然该过程导致单个帧延时,但是其因CPU/GPU并行处理而提供性能优势。
应当认识到的是,术语CPU/GPU DCVS协同优化指的是联合地优化GPU 104和CPU106两者的DCVS水平,使得GPU 104和CPU 106的组合功耗被最小化。换句话说,***100确定用于DCVS控制器112的GPU DCVS水平和CPU DCVS水平的最优组合,所述GPU DCVS水平和CPUDCVS水平的最优组合提供了在图形帧处理期间的最低的整体CPU和GPU功耗。
可以在任何多处理器计算设备中实现***100,包括个人计算机、工作站、服务器、便携式计算设备(PCD)(诸如蜂窝电话、便携式数字助理(PDA)、便携式游戏控制台、掌上型计算机或平板计算机)。在一个实施例中,在图1中示出的***组件中的一个或多个***组件可以并入在耦合到存储器***(例如,动态随机存取存储器(DRAM))或其它类型的存储器的片上***(SoC)上。如图1所示,***100包括一个或多个处理设备、单元或内核(例如,CPU106、GPU 104)。***100还可以包括任何其它通用或专用硬件设备,诸如举例来说,数字信号处理器、移动显示处理器、视频编码器等。
CPU 106、GPU 104以及任何其它硬件设备108可以连接到相应的硬件驱动器114。如本领域已知的,硬件驱动器114提供到相应的硬件设备的软件接口,使操作***和其它计算机程序能够在不需要知道使用的硬件的精确细节的情况下访问硬件功能。硬件驱动器114电气地耦合到DCVS控制器112。DCVS控制器112被配置为通过控制提供给CPU 106、GPU104以及硬件设备108的频率和/或电压来实现***DCVS技术。DCVS控制器112可以经由到例如一个或多个时钟116、功率管理集成电路(PMIC)118等的接口来调整设备进行操作的频率和/或电压。
如上所述,在图形帧处理期间,DCVS控制器112可以与CPU/GPU DCVS协同优化模块102进行对接,以联合地优化GPU 104和CPU 106两者的DCVS水平,以提供最低的整体CPU和GPU功耗。在图1的实施例中以及如下文更加详细地描述的,CPU/GPU DCVS协同优化模块102包括图形工作负荷类型检测模块120,图形工作负荷类型检测模块120被配置为确定图形工作负荷包括CPU/GPU串行化工作负荷还是CPU/GPU并行化工作负荷。如果图形工作负荷是串行化的,则由模块122来执行CPU/GPU DCVS协同优化。如果图形工作负荷是并行化的,则由模块124来执行CPU/GPU DCVS协同优化。
图2是在图1的***中实现的、用于根据检测到的图形工作负荷类型来控制各种CPU/GPU DCVS协同优化算法的方法200的实施例的流程图。在框202处,***100可以发起图形帧处理。在框204处,图形工作负荷类型检测模块120检测与图形帧处理相关联的工作负荷类型。在一个实施例中,工作负荷类型检测可以由GPU驱动器来执行。检测到的工作负荷类型可以包括CPU/GPU串行化工作负荷或CPU/GPU并行化工作负荷。可以以多种方式来检测工作负荷类型。在一个实施例中,GPU驱动器可以确定是否已经创建了帧缓冲器对象(FBO)。如果创建了FBO,则***100可以确定图形工作负荷类型是CPU/GPU串行化的。如果未创建FBO,则***可以确定图形工作负荷类型是CPU/GPU并行化的。
另一种检测方法可以涉及调查简档帧处理。如果确定针对帧(n+1)的处理仅在完成帧(n)处理之后才开始,则***100可以确定图形工作负荷类型是CPU/GPU串行化的。在例如针对帧(n+1)的开始时间大致等于帧(n)处理的结束时间的情况下,可以假设图形工作负荷类型是CPU/GPU串行化的。然而,如果无论帧(n)处理的状态如何,都可以开始针对帧(n+1)的处理,则***100可以确定图形工作负荷类型是CPU/GPU并行化的。在例如针对帧(n+1)的开始时间发生在帧(n)处理的结束时间之前的情况下,可以假设图形工作负荷类型是CPU/GPU并行化的。
还可以基于图形性能基准来确定工作负荷类型。例如,数据表格可以指定某些类型的基准或性能和/或使用场景应当与CPU/GPU串行化工作负荷相关联,而其它类型的基准或性能和/或使用场景应当与CPU/GPU并行化工作负荷相关联。
无论工作负荷类型检测方法如何,模块120控制(决策框206)应当应用哪种CPU/GPU DCVS协同优化算法。对于串行化工作负荷,可以应用一组CPU/GPU串行化DCVS协同优化算法中的一个(框208)。对于并行化工作负荷,可以应用一组CPU/GPU并行化DCVS协同优化算法中的一个(框210)。
图3是示出了由CPU/GPU DCVS协同优化模块102使用的、用于联合地优化GPU和CPUDCVS水平以使图形帧处理期间的CPU 106和GPU 104 的组合功耗最小化的示例性数据输入的框图。如下文更加详细地描述的,各种类型的数据用于在观察帧截止期限的同时,针对最低的组合CPU和GPU功耗来确定最优操作点(即,GPU和CPU DCVS水平)。在一个实施例中,CPU/GPU DCVS协同优化模块102可以被配置为确定由公式1-4中的条件约束的最优操作点。
CPU活动时间+GPU活动<帧时段=1/每秒帧(FPS)
公式1
CPU Fmin<CPU频率<CPU Fmax;
其中,Fmin是最小CPU频率;以及Fmax是最大CPU频率
公式2
GPU Fmin<GPU频率<GPU Fmax;
其中,Fmin是最小GPU频率;以及Fmax是最大GPU频率
公式3
最小总平均SoC功耗=CPU功率+GPU功率+其它功率
公式4
参照图3,CPU/GPU DCVS协同优化模块102可以从CPU 106和GPU 104获得各种类型的活动数据(即,分别被称为CPU活动数据和GPU活动数据)。活动数据可以是从CPU活动分析器(profiler)302和GPU活动分析器304接收的。如本领域已知的,活动分析器302和304可以从例如相应的CPU和GPU驱动器、计数器、寄存器、其它硬件等获得相关的数据。活动数据可以包括以下各项中的任何一项或与CPU和/或GPU活动相关的其它类型的数据:工作负荷、活动时间、空闲时间、等待时间等。CPU/GPU DCVS协同优化模块102可以确定与CPU 106相关联的可能的低功率模式(CPU低功率模式306)和与GPU 104相关联的可能的低功率模式(GPU低功率模式308)。低功率模式可以包括相应的DCVS水平或操作频率等的列表或表格。应当认识到的是,CPU低功率模式可以涉及以下功能、特征或变量中的任何一个:时钟选通模式、利用较低电压的保留、功率选通等。GPU低功率模式可以涉及例如:空间峰值时间峰值(SPTP)、功率崩溃、GFX功率崩溃等。
如在图3中进一步示出的,CPU/GPU DCVS协同优化还可以并入来自CPU温度传感器312和GPU温度传感器310的温度数据、以及与CPU相关联的静态供应电流(IDDQ)泄漏数据(IDDQ泄漏数据314)和与GPU相关联的静态供应电流(IDDQ)泄漏数据(IDDQ泄漏数据316)。本领域的普通技术人员将认识到的是,可以基于在图3中示出的数据中的一种或多种数据来确定用于使组合CPU和GPU功耗最小化的最优CPU/GPU操作点。CPU/GPU DCVS协同优化模块102可以向DCVS控制器提供最优CPU/GPU操作点,所述DCVS控制器112经由例如时钟116和/或PMIC 118(图1)来调整CPU 106和GPU 104。
图4是示出了在***100中实现的、用于协同优化CPU和GPU DCVS以使图形帧处理期间的功耗最小化的方法400的实施例的流程图。在框402处,从例如CPU活动分析器302和GPU活动分析器304接收GPU和CPU活动数据。CPU/GPU DCVS协同优化模块102可以确定CPU106和GPU 104的可能的低功率模式(框404)和/或相应的DCVS水平、操作频率等(框406)或者如上文以其它方式描述的。在框408处,CPU/GPU DCVS协同优化模块102可以接收CPU 106和GPU 104的温度数据和/或IDDQ泄漏数据。基于在框402、404、406和408中接收的和/或确定的数据中的一种或多种数据,CPU/GPU DCVS协同优化模块102根据图形工作负荷类型来选择适当的协同优化算法,并且确定(框410)使图形帧处理期间的CPU 106和GPU 104的组合功耗最小化的CPU DCVS水平和GPU DCVS水平的最优组合。在框412处,将最优操作点(例如,DCVS设置)发送给DCVS控制器112,DCVS控制器112控制对CPU 106和GPU 104的频率和/或电压的调整,以在帧截止期限内处理图形工作负荷(框414)。
图5a-5c是用于示出用于CPU/GPU串行化图形工作负荷的CPU/GPU DCVS协同优化方法的实施例的一系列定时图。图5a和5b示出了用于通过独立地优化CPU DCVS和GPU DCVS来使整体CPU/GPU功耗最小化的常规方法。图5a示出了包括最低CPU频率和最低GPU频率的第一场景。
如图5a所示,CPU频率是800MHz以及GPU频率是579MHz。针对与工作负荷相关联的前三个帧(即,分别被标识为帧500、502和504的帧n、帧(n+1)和帧(n+2))示出了串行化工作负荷。参考标记506a1、506a2和506a3分别示出了相应的帧500、502和504中的CPU处理,而参考标记508a1、508a2和508a3示出了GPU处理。如图5a所示,在帧500中,GPU处理508a1发生在CPU处理506a1之后。当完成GPU处理508a1时,将输出提供给显示器110。在帧502中,GPU处理508a2发生在CPU处理506a2之后。当完成GPU处理508a2时,将输出提供给显示器110。在帧504中,GPU处理508a3发生在CPU处理506a3之后。当完成GPU处理508a3时,将输出提供给显示器110。针对图5a中的场景1的模拟功耗数据表明总功耗=CPU(559mW)+GPU(1205mW)=1764mW。
图5b示出了包括最高CPU频率和最高GPU频率的第二场景。如图5b所示,CPU频率是2200MHz以及GPU频率是625MHz。再次,针对前三个帧500、502、504示出了串行化工作负荷。参考标记506b1、506b2和506b3分别示出了相应的帧500、502和504中的CPU处理,而参考标记508b1、508b2和508b3示出了GPU处理。针对图5b中的场景2的模拟功耗数据表明总功耗=CPU(783mW)+GPU(1206mW)=1988mW。通过对比图5a,应当认识到的是,相应的块的宽度与处理时间量成比例。相比图5a中的块(以最低频率对其进行处理),图5b中的块因较高的频率而使用较少的处理时间。模拟数据显示场景1(图5a)比场景2(图5b)更好地优化功耗。
图5c示出了在***100的示例性实现方式中的串行化工作负荷的相同的三个帧500、502、505。在该第三场景中,对CPU频率和GPU频率进行联合地优化,如上所述。图5c示出了如上所述的协同优化方法提供比在图5a(即,CPU和GPU两者的最低功率)和图5b(即,CPU和GPU两者的最高功率)中示出的常规方法低的整体功耗。在图5c的示例中,整体功耗被最小化,其中,CPU频率是1000MHz以及GPU频率是475MHz。针对图5c中的场景3的模拟功耗数据表明总功耗=CPU(554mW)+GPU(1204mW)=1757mW。与场景1和2(图5a和5b)中的常规方法相比,场景3(图5c)中的这种协同优化方法产生最低的功耗。
图6-8包括示出了示例性串行化工作负荷中的GPU和CPU DCVS水平的各种组合的估计的GPU和CPU功耗的数据表格。应当认识到的是,数据表格示出组合CPU/GPU功耗在示例性CPU/GPU频率空间中是非线性的、凸关系。每个数据表格示出了根据频率和活动时间的各种组合的估计的平均CPU和GPU功率。图6示出了其中CPU 106和GPU 104的温度大致为55摄氏度的第一示例。图7示出了其中CPU 106和GPU 104的温度大致为85摄氏度的第二示例。图8示出了其中CPU 106的温度大致为55摄氏度以及GPU 104的温度大致为80摄氏度的第三示例。
在图6-8中的每个图中,在每个表格的左边的三列中列出了GPU组合,以及在每个表格的上面的三行中列出了CPU组合。被灰化的单元示出了根据各种组合的估计的总CPU和GPU功率。每个表格中的被黑化的单元标识CPU/GPU频率空间中的用于使组合CPU和GPU功耗最小化的最优操作点。图6-8示出最优操作点根据CPU和GPU温度变化而改变,并且这是为什么图3和图4中的方法利用IDDQ(泄漏)和温度信息来确定CPU和GPU的最优操作点的原因。
应当认识到的是,CPU/GPU DCVS协同优化模块102可以被配置为在任何期望的频率空间内并且基于上述输入数据中的任何输入数据来估计相应的CPU和GPU功率。此外,可以采用各种优化算法。图9示出了梯度下降搜索方法的示例性实现方式。由垂直虚线906沿着x轴902来表示CPU操作频率(DCVS)水平。由水平虚线908沿着y轴904来表示GPU操作频率(DCVS)水平。线908和906的交点定义用于协同优化CPU和GPU DCVS水平的可用的操作点。
在图9的示例中,操作点910(如黑圆圈所示)表示CPU 106和GPU 104的当前操作点。优化算法可以被配置为估计相邻DCVS操作点的功耗,以确定是否存在较低功率操作点。可以确定操作点912(利用X示出的)产生较低的整体功耗但是不满足帧截止期限,并且因此不被考虑。三角形的有界区域表示将满足帧处理截止期限的CPU/GPU DCVS水平的组合。操作点914(利用白圆圈示出的)可以被确定为产生较低的整体功耗并且满足帧截止期限。然而,操作点916(利用被灰化的圆圈示出的)可以被标识为最优的新操作点,这是因为其不仅满足帧截止期限,还产生了所有相邻操作点中的最低的整体组合CPU/GPU功耗。本领域的普通技术人员将认识到的是,可以实现其它优化方法,包括例如分支定界树搜索或任何其它期望的方法。
图10是示出了在图1的***中实现的、用于针对CPU/GPU并行化图形工作负荷来协同优化CPU和GPU DCVS水平的方法1000的实施例的流程图。在框1002处,CPU/GPU DCVS协同优化模块102以上述方式来检测并行化工作负荷。在框1004处,可以基于输入数据(图3)中的任何输入数据来确定CPU和GPU DCVS水平的最优组合,所述CPU和GPU DCVS水平的最优组合使针对并行化工作负荷的CPU 106和GPU 104的组合功耗最小化。***100还可以确定用于增加公共硬件资源(硬件设备118-图1)的空闲时间的适当的DCVS水平或其它操作条件。如图11b所示,可以根据来自用于显示器110的显示器驱动器的垂直同步(Vsync)信号1109来将并行化CPU/GPU工作负荷和针对公共硬件资源的处理同步。图11a示出了其中垂直同步被用于串行化工作负荷而不是并行化工作负荷的比较性示例。应当认识到的是,通过将垂直同步与协同优化的CPU/GPU并行化工作负荷包括在一起(如图11b所示),可以显著地增加公共硬件资源的空闲时间,这产生了在协同优化的CPU/GPU DCVS水平的情况下对公共硬件资源的更高效的使用。
参照图11a和11b,由参照标记1110a、1110b、1110c和1110d来表示在帧1102、1104、1106和1108期间的CPU处理。由参照标记1112a、1112b、1112c和1112d来表示图11a中的GPU处理(串行化工作负荷)。由参照标记1112a、1112b和1112c来表示图11b中的GPU处理(并行化工作负荷),这说明了在并行化工作负荷中固有的一个帧延时。分别由参照标记1114a、1114b、1114c和1114d来表示在帧1102、1104、1106和1108期间的针对公共硬件资源的处理。图11b示出了通过将垂直同步与CPU/GPU并行化工作负荷组合,可以增加公共硬件资源的空闲时间(在图11b中由比在图11a中窄的处理块示出)。
如上所述,可以将***100并入到任何期望的计算***中。图12示出了并入到示例性便携式计算设备(PCD)1200中的***100。将易于理解的是,***100的某些组件(例如,CPU/GPU DCVS协同优化模块102、CPU 106、GPU 104)可以被包括在SoC 322(图12)上,而其它组件(例如,存储器126、显示器110)可以是耦合到SoC 322的外部组件。SoC 322可以包括多内核CPU 1202。多内核CPU 1202包括第零内核1210、第一内核1212以及第N内核1214。内核中的一个内核可以包括GPU 104,以及其它内核中的一个或多个内核包括CPU 106。
显示器控制器328和触摸屏控制器330可以耦合到CPU 1202。继而,在片上***322外部的触摸屏显示器1206可以耦合到显示器控制器328和触摸屏控制器330。
图12还示出了视频编码器334(例如,逐行倒相制式(PAL)编码器、顺序存储彩色制式(SECAM)编码器、或国家电视***委员会(NTSC)编码器)耦合到多内核CPU 1202。此外,视频放大器336耦合到视频编码器334和触摸屏显示器1206。此外,视频端口338耦合到视频放大器336。如图12所示,通用串行总线(USB)控制器340耦合到多内核CPU 1202。此外,USB端口342耦合到USB控制器340。存储器104和用户身份模块(SIM)卡346也可以耦合到多内核CPU 1202。存储器104可以位于SoC 322上或者耦合到SoC 322。存储器104可以包括DRAM存储器***。
此外,如图12所示,数字相机348可以耦合到多内核CPU 1202。在一个示例性方面中,数字相机348是电荷耦合器件(CCD)相机或互补金属氧化物半导体(CMOS)相机。
如在图12中进一步示出的,立体声音频编码器-解码器(CODEC)350可以耦合到多内核CPU 1202。此外,音频放大器352可以耦合到立体声音频CODEC 350。在一个示例性方面中,第一立体声扬声器354和第二立体声扬声器356耦合到音频放大器352。图12示出麦克风放大器358也可以耦合到立体声音频CODEC 350。此外,麦克风360可以耦合到麦克风放大器358。在一个特定方面中,调频(FM)无线电调谐器362可以耦合到立体声音频CODEC 350。此外,FM天线364耦合到FM无线电调谐器362。此外,立体声耳机366可以耦合到立体声音频CODEC 350。
图12还示出射频(RF)收发机368可以耦合到多内核CPU 1202。RF开关370可以耦合到RF收发机368和RF天线372。小键盘204可以耦合到多内核CPU 1202。此外,具有麦克风的单声道耳麦376可以耦合到多内核CPU 1202。此外,振动器设备378可以耦合到多内核CPU1202。
图12还示出电源380可以耦合到SoC 322。在一个特定方面中,电源380是向PCD1200的需要功率的各个组件提供功率的直流(DC)电源。此外,在一个特定方面中,电源是可再充电DC电池或者从交流(AC)到连接到AC电源的DC变压器得到的DC电源。
图12还指示PCD 1200还可以包括可以用于接入数据网(例如,局域网、个域网或任何其它网络)的网卡388。网卡388可以是蓝牙网卡、Wi-Fi网卡、个域网(PAN)卡、个域网超低功率技术(PeANUT)网卡、电视机/电缆/卫星调谐器、或本领域公知的任何其它网卡。此外,网卡388可以并入到芯片中(即,网卡388可以是芯片中的完全解决方案,并且可以不是单独的网卡388)。
如在图12中描绘的,触摸屏显示器1206、视频端口338、USB端口342、相机348、,第一立体声扬声器354、第二立体声扬声器356、麦克风360、FM天线364、立体声耳机366、RF开关370、RF天线372、小键盘374、单声道耳麦376、振动器378以及电源380可以在SoC 322外部。
应当认识到的是,可以将本文描述的方法步骤中的一个或多个方法步骤作为计算机程序指令(诸如上述模块)存储在存储器中。可以由任何适当的处理器结合或配合相应的模块来执行这些指令,以执行本文描述的方法。
在本说明书中描述的过程或过程流中的某些步骤自然地先于其它步骤,以使本发明如所描述的运作。然而,本发明不限于所描述的步骤的次序,如果这样的次序或顺序不改变本发明的功能的话。即,要认识到的是,在不脱离本发明的范围和精神的情况下,某些步骤可以在其它步骤之前、之后或与其它步骤并行地(大体同时地)执行。在一些实例中,可以在不脱离本发明的情况下省略或不执行某些步骤。此外,诸如“其后”、“随后”、“接下来”等的词语不旨在限制步骤的次序。这些词语仅用于引导读者完成示例性方法的描述。
另外,编程领域的普通技术人员能够基于例如在本说明书中的流程图和相关联的描述,在没有困难的情况下编写计算机代码或识别适当的硬件和/或电路以实现所公开的发明。
因此,对程序代码指令的特定集合或详细的硬件设备的公开不被认为是获得对如何实现以及使用本发明的足够的理解所必须的。在上文描述中并且结合附图更加详细地解释了所要求的计算机实现过程的发明性功能,所述附图可以说明各个过程流。
在一个或多个示例性方面中,所描述的功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质中或者通过其进行传输。计算机可读介质包括计算机存储介质和通信介质两者,所述通信介质包括促进计算机程序从一个地方传送到另一个地方的任何介质。存储介质可以是可由计算机存取的任何可用的介质。通过举例而非限制性的方式,这样的计算机可读介质可以包括RAM、ROM、EEPROM、NAND闪速、NOR闪速、M-RAM、P-RAM、R-RAM、CD-ROM或其它光盘存储、磁盘存储介质或其它磁存储设备、或者可以用于以指令或数据结构的形式携带或存储期望的程序代码以及可以由计算机来存取的任何其它介质。
此外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(“DSL”)或无线技术(例如红外、无线和微波)从网站、服务器或其它远程源发送软件,则同轴电缆、光纤光缆、双绞线、DSL或无线技术(例如红外、无线和微波)包括在介质的定义中。
如本文所使用的,磁盘和光盘包括压缩光盘(“CD”)、激光光盘、光盘、数字多功能光盘(“DVD”)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则利用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的范围内。
在不脱离本发明的精神和范围的情况下,替代实施例对于与本发明相关的领域的普通技术人员来说将是显而易见的。因此,尽管详细地说明和描述了所选择的方面,但是将理解的是,如下面的权利要求书所限定的,可以在不脱离本发明的精神和范围的情况下在其中做出各种替代和改变。

Claims (30)

1.一种用于使图形帧处理中的功耗最小化的方法,所述方法包括:
发起将由中央处理单元(CPU)和图形处理单元(GPU)协作地执行的图形帧处理;
接收CPU活动数据和GPU活动数据;
确定所述GPU和所述CPU的可用的动态时钟和电压/频率缩放(DCVS)水平的集合;以及
基于所述CPU和GPU活动数据,从所述可用的DCVS水平的集合中选择GPU DCVS水平和CPU DCVS水平的最优组合,所述GPU DCVS水平和CPU DCVS水平的最优组合使在所述图形帧处理期间,所述CPU和所述GPU的组合功耗最小化。
2.根据权利要求1所述的方法,其中,所述CPU活动数据和所述GPU活动数据是从与所述CPU和所述GPU相关联的相应的活动分析器接收的。
3.根据权利要求1所述的方法,其中,所述CPU和GPU活动数据包括用于指定以下各项中的一项或多项的数据:处理器工作负荷、活动时间、空闲时间、以及等待时间。
4.根据权利要求1所述的方法,还包括:
从至少一个CPU温度传感器和至少一个GPU温度传感器中的一个或多个接收温度数据;以及
接收与所述GPU和所述CPU中的一个或多个相关联的静态供应电流泄漏(IDDQ)数据;
其中,所述GPU和CPU DCVS水平的所述最优组合是基于所述CPU和GPU活动数据以及所述温度数据和所述IDDQ数据中的一个或多个来选择的。
5.根据权利要求1所述的方法,其中,所述图形帧处理包括CPU/GPU串行化工作负荷。
6.根据权利要求5所述的方法,其中,所述GPU DCVS水平和所述CPU DCVS水平的所述最优组合包括:CPU/GPU频率空间中的操作点,所述操作点使在所述CPU/GPU串行化工作负荷期间,所述CPU和所述GPU的所述组合功耗最小化,同时满足帧截止期限。
7.根据权利要求1所述的方法,其中,所述图形帧处理包括CPU/GPU并行化工作负荷。
8.根据权利要求7所述的方法,还包括:
优化公共硬件资源的处理以增加相关联的空闲时间;以及
使用从显示器驱动器接收的垂直同步信号来将所述公共硬件资源处理与所述并行CPU和GPU工作负荷同步。
9.一种用于使图形帧处理中的功耗最小化的***,所述***包括:
用于发起将由中央处理单元(CPU)和图形处理单元(GPU)协作地执行的图形帧处理的单元;
用于接收CPU活动数据和GPU活动数据的单元;
用于确定所述GPU和所述CPU的可用的动态时钟和电压/频率缩放(DCVS)水平的集合的单元;以及
用于基于所述CPU和GPU活动数据,从所述可用的DCVS水平的集合中选择GPU DCVS水平和CPU DCVS水平的最优组合的单元,所述GPUDCVS水平和CPU DCVS水平的最优组合使在所述图形帧处理期间,所述CPU和所述GPU的组合功耗最小化。
10.根据权利要求9所述的***,其中,所述CPU活动数据和所述GPU活动数据是从与所述CPU和所述GPU相关联的相应的活动分析器接收的。
11.根据权利要求9所述的***,其中,所述CPU和GPU活动数据包括用于指定以下各项中的一项或多项的数据:处理器工作负荷、活动时间、空闲时间、以及等待时间。
12.根据权利要求9所述的***,还包括:
用于从至少一个CPU温度传感器和至少一个GPU温度传感器中的一个或多个接收温度数据的单元;以及
用于接收与所述GPU和所述CPU中的一个或多个相关联的静态供应电流泄漏(IDDQ)数据的单元;
其中,所述GPU和CPU DCVS水平的所述最优组合是基于所述CPU和GPU活动数据以及所述温度数据和所述IDDQ数据中的一个或多个来选择的。
13.根据权利要求9所述的***,其中,所述图形帧处理包括CPU/GPU串行化工作负荷。
14.根据权利要求13所述的***,其中,所述GPU DCVS水平和所述CPU DCVS水平的所述最优组合包括:CPU/GPU频率空间中的操作点,所述操作点使在所述CPU/GPU串行化工作负荷期间,所述CPU和所述GPU的所述组合功耗最小化,同时满足帧截止期限。
15.根据权利要求9所述的***,其中,所述图形帧处理包括CPU/GPU并行化工作负荷。
16.根据权利要求15所述的***,还包括:
用于优化公共硬件资源的处理以增加相关联的空闲时间的单元;以及用于使用从显示器驱动器接收的垂直同步信号来将所述公共硬件资源处理与所述并行CPU和GPU工作负荷同步的单元。
17.一种体现在计算机可读介质中并且由处理器执行以用于使图形帧处理中的功耗最小化的计算机程序,所述计算机程序包括被配置为执行以下操作的逻辑单元:
发起将由中央处理单元(CPU)和图形处理单元(GPU)协作地执行的图形帧处理;
接收CPU活动数据和GPU活动数据;
确定所述GPU和所述CPU的可用的动态时钟和电压/频率缩放(DCVS)水平的集合;以及
基于所述CPU和GPU活动数据,从所述可用的DCVS水平的集合中选择GPU DCVS水平和CPU DCVS水平的最优组合,所述GPU DCVS水平和CPU DCVS水平的最优组合使在所述图形帧处理期间,所述CPU和所述GPU的组合功耗最小化。
18.根据权利要求17所述的计算机程序,其中,所述CPU活动数据和所述GPU活动数据是从与所述CPU和所述GPU相关联的相应的活动分析器接收的。
19.根据权利要求17所述的计算机程序,其中,所述CPU和GPU活动数据包括用于指定以下各项中的一项或多项的数据:处理器工作负荷、活动时间、空闲时间、以及等待时间。
20.根据权利要求17所述的计算机程序,还包括被配置为执行以下操作的逻辑单元:
从至少一个CPU温度传感器和至少一个GPU温度传感器中的一个或多个接收温度数据;以及
接收与所述GPU和所述CPU中的一个或多个相关联的静态供应电流泄漏(IDDQ)数据;
其中,所述GPU和CPU DCVS水平的所述最优组合是基于所述CPU和GPU活动数据以及所述温度数据和所述IDDQ数据中的一个或多个来选择的。
21.根据权利要求17所述的计算机程序,其中,所述图形帧处理包括CPU/GPU串行化工作负荷。
22.根据权利要求21所述的计算机程序,其中,所述GPU DCVS水平和所述CPU DCVS水平的所述最优组合包括:CPU/GPU频率空间中的操作点,所述操作点使在所述CPU/GPU串行化工作负荷期间,所述CPU和所述GPU的所述组合功耗最小化,同时满足帧截止期限。
23.根据权利要求17所述的计算机程序,其中,所述图形帧处理包括CPU/GPU并行化工作负荷。
24.根据权利要求23所述的计算机程序,还包括被配置为执行以下操作的逻辑单元:
优化公共硬件资源的处理以增加相关联的空闲时间;以及
使用从显示器驱动器接收的垂直同步信号来将所述公共硬件资源处理与所述并行CPU和GPU工作负荷同步。
25.一种用于使图形帧处理中的功耗最小化的***,所述***包括:
片上***(SoC),所述片上***包括:中央处理单元(CPU)、图形处理单元(GPU)、以及与所述GPU和所述CPU相通信的动态时钟和电压/频率缩放(DCVS)控制器;以及
CPU/GPU DCVS协同优化模块,所述CPU/GPU DCVS协同优化模块被配置为:基于CPU和GPU活动数据,确定用于所述DCVS控制器的GPUDCVS水平和CPU DCVS水平的最优组合,所述GPU DCVS水平和CPUDCVS水平的最优组合使在图形帧处理期间,所述CPU和所述GPU的组合功耗最小化。
26.根据权利要求25所述的***,其中,所述CPU/GPU DCVS协同优化模块包括被配置为执行以下操作的逻辑单元:
确定所述GPU和所述CPU的可用的动态时钟和电压/频率缩放(DCVS)水平的集合;以及
从所述可用的DCVS水平的集合中确定所述GPU DCVS水平和所述CPU DCVS水平的所述最优组合。
27.根据权利要求25所述的***,其中,所述CPU和GPU活动数据包括用于指定以下各项中的一项或多项的数据:处理器工作负荷、活动时间、空闲时间、以及等待时间。
28.根据权利要求25所述的***,其中,所述CPU/GPU DCVS协同优化模块包括被配置为执行以下操作的逻辑单元:
从至少一个CPU温度传感器和至少一个GPU温度传感器中的一个或多个接收温度数据;以及
接收与所述GPU和所述CPU中的一个或多个相关联的静态供应电流泄漏(IDDQ)数据;
其中,所述GPU和CPU DCVS水平的所述最优组合是基于所述CPU和GPU活动数据以及所述温度数据和所述IDDQ数据中的一个或多个来选择的。
29.根据权利要求25所述的***,其中,所述图形帧处理包括CPU/GPU串行化工作负荷。
30.根据权利要求29所述的***,其中,所述GPU DCVS水平和所述CPU DCVS水平的所述最优组合包括:CPU/GPU频率空间中的操作点,所述操作点使在所述CPU/GPU串行化工作负荷期间,所述CPU和所述GPU的所述组合功耗最小化,同时满足帧截止期限。
CN201580022602.XA 2014-04-30 2015-04-29 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化 Active CN106258011B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/266,685 US9378536B2 (en) 2014-04-30 2014-04-30 CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing
US14/266,685 2014-04-30
PCT/US2015/028098 WO2015168189A1 (en) 2014-04-30 2015-04-29 Cpu/gpu dcvs co-optimization for reducing power consumption in graphics frame processing

Publications (2)

Publication Number Publication Date
CN106258011A true CN106258011A (zh) 2016-12-28
CN106258011B CN106258011B (zh) 2019-07-12

Family

ID=53177364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580022602.XA Active CN106258011B (zh) 2014-04-30 2015-04-29 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化

Country Status (7)

Country Link
US (1) US9378536B2 (zh)
EP (1) EP3137965B1 (zh)
JP (1) JP6412162B2 (zh)
KR (1) KR102380576B1 (zh)
CN (1) CN106258011B (zh)
BR (1) BR112016025031B1 (zh)
WO (1) WO2015168189A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465929A (zh) * 2017-07-21 2017-12-12 山东大学 基于hevc的dvfs控制方法、***、处理器及存储设备
CN110308784A (zh) * 2019-04-30 2019-10-08 东莞恒创智能科技有限公司 基于Nvidia TX2的CPU、GPU联合调频节能优化方法
CN110365962A (zh) * 2019-07-17 2019-10-22 Oppo广东移动通信有限公司 色域转换处理方法、装置以及电子设备
CN111902790A (zh) * 2018-08-30 2020-11-06 华为技术有限公司 一种调频方法、装置及计算机可读存储介质
CN112306689A (zh) * 2020-11-02 2021-02-02 时代云英(深圳)科技有限公司 一种边缘计算***及方法
CN113138655A (zh) * 2021-04-02 2021-07-20 Oppo广东移动通信有限公司 处理器频率的调整方法、装置、电子设备及存储介质
CN114009035A (zh) * 2019-06-28 2022-02-01 Ati科技无限责任公司 在功率管理性能得到保证的情况下的实时gpu渲染

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103959198B (zh) * 2011-11-30 2017-09-12 英特尔公司 降低3d工作负荷的功率
US9530174B2 (en) * 2014-05-30 2016-12-27 Apple Inc. Selective GPU throttling
US20160077565A1 (en) * 2014-09-17 2016-03-17 Advanced Micro Devices, Inc. Frequency configuration of asynchronous timing domains under power constraints
KR102325453B1 (ko) * 2014-12-04 2021-11-11 삼성전자주식회사 반도체 장치의 동작 방법
US9910475B2 (en) 2014-12-23 2018-03-06 Intel Corporation Processor core power event tracing
US20170045925A1 (en) * 2015-07-24 2017-02-16 Power It Perfect, Inc. Systems and methods of controlling a power supply signal delivered to an electronic device
US10445850B2 (en) * 2015-08-26 2019-10-15 Intel Corporation Technologies for offloading network packet processing to a GPU
KR102375925B1 (ko) * 2015-08-31 2022-03-17 삼성전자주식회사 Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법
KR102452154B1 (ko) * 2015-10-27 2022-10-07 삼성전자주식회사 영상 처리 장치 및 이를 포함하는 표시 시스템
US10108564B2 (en) * 2016-03-28 2018-10-23 Qualcomm Incorporated Active and stall cycle based dynamic scaling of processor frequency and bus bandwidth
US10296067B2 (en) * 2016-04-08 2019-05-21 Qualcomm Incorporated Enhanced dynamic clock and voltage scaling (DCVS) scheme
CN107610039A (zh) * 2016-07-12 2018-01-19 联发科技股份有限公司 图像处理方法及图像处理装置
US10776895B2 (en) * 2017-02-10 2020-09-15 Apple Inc. GPU power and performance management
US10290289B2 (en) * 2017-04-01 2019-05-14 Intel Corporation Adaptive multibit bus for energy optimization
US10319065B2 (en) 2017-04-13 2019-06-11 Microsoft Technology Licensing, Llc Intra-frame real-time frequency control
US10699369B2 (en) * 2017-12-27 2020-06-30 Intel Corporation Intelligent memory DVFS scheme exploiting graphics inter-frame level correlation
WO2020102929A1 (en) * 2018-11-19 2020-05-28 Alibaba Group Holding Limited Unified power management
US11423035B2 (en) 2019-02-04 2022-08-23 Pearson Education, Inc. Scoring system for digital assessment quality with harmonic averaging
US11854433B2 (en) * 2019-02-04 2023-12-26 Pearson Education, Inc. Systems and methods for item response modelling of digital assessments
US11181969B2 (en) * 2019-04-02 2021-11-23 Dell Products, Lp Method and system for graphics processor unit busy state detection
US11093019B2 (en) 2019-07-29 2021-08-17 Microsoft Technology Licensing, Llc Integrated circuit power domains segregated among power supply phases
US11698812B2 (en) * 2019-08-29 2023-07-11 Intel Corporation System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor
US11409341B2 (en) 2019-10-01 2022-08-09 Intel Corporation Repeating graphics render pattern detection
CN112925592A (zh) 2019-12-05 2021-06-08 超威半导体公司 渲染主页面的内核软件驱动的颜色重新映射
US11194377B2 (en) * 2020-01-21 2021-12-07 Dell Products L.P. System and method for optimizing hardware resources for optimal workload performance
KR20210101663A (ko) 2020-02-10 2021-08-19 삼성전자주식회사 프레임의 생성에 소요된 시간 및 최대 허용 시간에 기반하여 프로세싱 유닛을 제어하는 전자 장치 및 전자 장치의 동작 방법
US11467621B2 (en) * 2020-02-28 2022-10-11 Qualcomm Incorporated Computer processing unit intra-frame clock and voltage scaling based on graphics application awareness
US20220044350A1 (en) * 2020-08-07 2022-02-10 Advanced Micro Devices, Inc. Graphics processing unit with selective two-level binning
CN114510139B (zh) * 2020-11-16 2024-06-04 深圳市万普拉斯科技有限公司 一种调频方法、装置及电子设备
US20240196113A1 (en) * 2021-04-26 2024-06-13 Sony Semiconductor Solutions Corporation Dynamic voltage and frequency scaling for image-sensor applications
US20210326191A1 (en) * 2021-06-25 2021-10-21 Intel Corporation Methods and apparatus to align media workloads

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050641A1 (en) * 2005-08-26 2007-03-01 International Business Machines Corporation Cryptography methods and apparatus
US20090109230A1 (en) * 2007-10-24 2009-04-30 Howard Miller Methods and apparatuses for load balancing between multiple processing units
CN101609545A (zh) * 2008-06-11 2009-12-23 英特尔公司 性能分配方法和装置
CN102687098A (zh) * 2010-01-11 2012-09-19 高通股份有限公司 动态控制处理器的***和方法
WO2012170213A2 (en) * 2011-06-10 2012-12-13 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3266110B2 (ja) * 1998-08-14 2002-03-18 日本電気株式会社 ビデオコントローラ及びその消費電力制御回路
US6924781B1 (en) * 1998-09-11 2005-08-02 Visible Tech-Knowledgy, Inc. Smart electronic label employing electronic ink
JP4549652B2 (ja) * 2003-10-27 2010-09-22 パナソニック株式会社 プロセッサシステム
JP4476876B2 (ja) * 2005-06-10 2010-06-09 三菱電機株式会社 並列計算装置
US7529948B2 (en) 2005-08-25 2009-05-05 Apple Inc. Methods and apparatuses for dynamic power estimation
US7949889B2 (en) * 2008-01-07 2011-05-24 Apple Inc. Forced idle of a data processing system
JP5794010B2 (ja) * 2011-07-19 2015-10-14 富士通株式会社 情報処理装置、制御プログラムおよび制御方法
US9442773B2 (en) * 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US9129394B2 (en) * 2012-12-14 2015-09-08 Microsoft Technology Licensing, Llc CPU-GPU parallelization
US9477568B2 (en) * 2013-09-27 2016-10-25 International Business Machines Corporation Managing interconnect electromigration effects

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050641A1 (en) * 2005-08-26 2007-03-01 International Business Machines Corporation Cryptography methods and apparatus
US20090109230A1 (en) * 2007-10-24 2009-04-30 Howard Miller Methods and apparatuses for load balancing between multiple processing units
CN101609545A (zh) * 2008-06-11 2009-12-23 英特尔公司 性能分配方法和装置
CN102687098A (zh) * 2010-01-11 2012-09-19 高通股份有限公司 动态控制处理器的***和方法
WO2012170213A2 (en) * 2011-06-10 2012-12-13 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465929B (zh) * 2017-07-21 2019-02-01 山东大学 基于hevc的dvfs控制方法、***、处理器及存储设备
CN107465929A (zh) * 2017-07-21 2017-12-12 山东大学 基于hevc的dvfs控制方法、***、处理器及存储设备
CN111902790A (zh) * 2018-08-30 2020-11-06 华为技术有限公司 一种调频方法、装置及计算机可读存储介质
US11460905B2 (en) 2018-08-30 2022-10-04 Huawei Technologies Co., Ltd. Frequency scaling responding to a performance change method and apparatus and computer-readable storage medium
CN111902790B (zh) * 2018-08-30 2022-05-31 华为技术有限公司 一种调频方法、装置及计算机可读存储介质
CN110308784A (zh) * 2019-04-30 2019-10-08 东莞恒创智能科技有限公司 基于Nvidia TX2的CPU、GPU联合调频节能优化方法
CN114009035A (zh) * 2019-06-28 2022-02-01 Ati科技无限责任公司 在功率管理性能得到保证的情况下的实时gpu渲染
CN110365962A (zh) * 2019-07-17 2019-10-22 Oppo广东移动通信有限公司 色域转换处理方法、装置以及电子设备
CN110365962B (zh) * 2019-07-17 2021-08-17 Oppo广东移动通信有限公司 色域转换处理方法、装置以及电子设备
CN112306689B (zh) * 2020-11-02 2021-05-11 时代云英(深圳)科技有限公司 一种边缘计算***及方法
CN112306689A (zh) * 2020-11-02 2021-02-02 时代云英(深圳)科技有限公司 一种边缘计算***及方法
CN113138655A (zh) * 2021-04-02 2021-07-20 Oppo广东移动通信有限公司 处理器频率的调整方法、装置、电子设备及存储介质
CN113138655B (zh) * 2021-04-02 2023-11-28 Oppo广东移动通信有限公司 处理器频率的调整方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US9378536B2 (en) 2016-06-28
EP3137965B1 (en) 2019-02-20
KR20160147964A (ko) 2016-12-23
EP3137965A1 (en) 2017-03-08
BR112016025031B1 (pt) 2022-09-20
JP6412162B2 (ja) 2018-10-24
WO2015168189A1 (en) 2015-11-05
JP2017515230A (ja) 2017-06-08
CN106258011B (zh) 2019-07-12
US20150317762A1 (en) 2015-11-05
KR102380576B1 (ko) 2022-03-29
BR112016025031A2 (pt) 2017-08-15

Similar Documents

Publication Publication Date Title
CN106258011A (zh) 用于降低图形帧处理中的功耗的cpu/gpu dcvs协同优化
CN107272883B (zh) 使用标记区域对视频流的手势预处理
US9905043B2 (en) Techniques to generate digital maps
TWI525475B (zh) 使用膚色檢測的視訊串流的姿勢預處理
TWI516099B (zh) 用以降低平台電力之帶有延遲期間的視訊串流之手勢前置處理技術
US20150378599A1 (en) Method and electronic device for displaying virtual keyboard
US20140240261A1 (en) Method for determining touch input object and electronic device thereof
US9753532B2 (en) Image processing method and image processing apparatus
CN112269522A (zh) 图像处理方法、装置、电子设备和可读存储介质
US20150347097A1 (en) Adaptive user interfaces
US20180286089A1 (en) Electronic device and method for providing colorable content
US10139982B2 (en) Window expansion method and associated electronic device
CN104035714A (zh) 一种基于安卓***的触摸事件处理方法、装置和设备
US20150074545A1 (en) Content reconfiguration based on characteristic analysis
CN109643209A (zh) 在客户端应用中动态地呈现大数据集
US20150135135A1 (en) Method for Image Controlling and Portable Electronic Apparatus Using the Same
KR20200087742A (ko) 윈도우 영역 조정 방법 및 그에 따른 전자 장치
WO2023093694A1 (zh) 图像处理方法、装置、设备和存储介质
CN103870228A (zh) 计算机的双显设置***及方法
CN103606175B (zh) 一种地图热点图标的显示方法及控制器
CN103106023B (zh) 用于控制便携式终端中的显示尺寸的装置和方法
CN112150486A (zh) 图像处理方法及装置
US11934248B2 (en) Performance and power tuning user interface
US20160328009A1 (en) Computing device and method for displaying sleeping interface and waking-up interface
CN105843430B (zh) 桌面页位置标识***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant