Context aware power management for graphics devices

US9547356B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9547356-B2
Application numberUS-201313977422-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2013
Priority dateFeb 28, 2013
Publication dateJan 17, 2017
Grant dateJan 17, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, apparatus and methods are described related to context aware power management for graphics devices.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for managing power in a device comprising: generating, at a context aware agent of the device, a context based performance level based at least in part on a graphics context; determining, at a power management module of the device, one or more graphics rendering performance characteristics based at least in part on the context based performance level; generating, at the graphics client, one or more rendering commands; transferring the one or more rendering commands from the graphics client to a command dispatch module of the device; determining a change from a current graphics client to the graphics client associated with one or more rendering commands; transferring the context based performance level from the render context module to the power management module in response to the change, wherein transferring the context based performance level comprises transferring the context based performance level as part of the render context; transferring at least one of the one or more rendering commands from the command dispatch module to a command buffer of the graphics hardware module, wherein performing the graphics rendering comprises performing the graphics rendering based at least in part on the at least one of the one or more rendering commands; transferring the one or more graphics rendering performance characteristics from the power management module to a power management unit of the graphics hardware module; wherein determining the one or more graphics rendering performance characteristics further comprises evaluating the one or more rendering commands based on a heuristic algorithm, and wherein evaluating the one or more rendering commands is performed via the power management module; and performing, at a graphics hardware module of the device, a graphics rendering based at least in part on the one or more graphics rendering performance characteristics. 2. The method of claim 1 , wherein the graphics context comprises a graphics client and wherein the graphics client comprises at least one of a graphics application or a virtual machine. 3. The method of claim 1 , wherein the graphics context comprises a graphics requirement of a graphics client. 4. The method of claim 1 , wherein the graphics context comprises at least one of an indication of whether a graphics client is running on a foreground or a background of the device. 5. The method of claim 1 , wherein the graphics context comprises a user-selected power consumption setting. 6. The method of claim 1 , wherein the graphics context comprises a security status of an application or a virtual machine running on the device. 7. The method of claim 1 , wherein the one or more graphics rendering performance characteristics comprise at least one of an operating frequency, an idle state, or guidance information. 8. The method of claim 1 , further comprising: transferring the context based performance level from the context aware agent to a render context module of the device; storing, via the render context module, the context based performance level in a render context, wherein the render context is associated with a graphics client; determining the context based performance level is different than a current context based performance level via the power management module of the device and determining the one or more graphics rendering performance characteristics in response to the context based performance level being different than the current context based performance level. 9. The method of claim 1 , further comprising: transferring the context based performance level from the context aware agent to a render context module of the device; storing, via the render context module, the context based performance level in a render context, wherein the render context is associated with a graphics client; determining the context based performance level is different than a current context based performance level via the power management module of the device and determining the one or more graphics rendering performance characteristics in response to the context based performance level being different than the current context based performance level; determining the context based performance level is not different than a current context based performance level via the power management module of the device and taking no action in response to the context based performance level not being different than the current context based performance level; wherein determining the one or more graphics rendering performance characteristics further comprises activating one or more governors associated with the context based performance level, wherein the one or more governors comprise at least one of a performance governor, a hardware governor, or a power governor, wherein the performance governor receives performance targets, and wherein the power governor receives a power budget, wherein the context based performance level comprises at least one of a strict performance level or an elastic performance level, wherein the graphics context comprises at least one of the graphics client, wherein the graphics client comprises at least one of a graphics application or a virtual machine, one or more applications running on the device, one or more virtual machines running on the device, a graphics requirement of the graphics client, an indication of whether the graphics client is running on a foreground or a background of the device, a user-selected power consumption setting, or a security status of the graphics client, and wherein the graphics context comprises a first virtual machine running a hypertext markup language 5 (HTML5) browser, a second virtual machine comprises a coding application and wherein, if the first virtual machine is in the foreground, the context based performance level is the strict performance level and, if the first virtual machine is in the background, the context based performance level is the elastic performance level, wherein the one or more graphics rendering performance characteristics comprise at least one of an operating frequency, an idle state, or guidance information, wherein the context aware agent comprises at least one of a component of a graphics stack, a user mode driver, an operating system window manager, or a virtual machine display manager, wherein the command dispatch module, the render context module, the power management module, and the scheduler module are implemented via a graphics driver, and wherein the graphics hardware module comprises at least one of a graphics processing unit or a field programmable gate array. 10. The method of claim 1 , further comprising: wherein the context based performance level alternates between at least a non-power saving strict performance level or a power saving elastic performance level, wherein determining the one or more graphics rendering performance characteristics further comprises: activating a power governor only at the power saving elastic performance level, wherein the power governor operates based on a power budget; and activating a performance governor only at the non-power saving strict performance level, wherein the performance governor operates based on non-power based performance targets to maximize rendering speed regardless of the power budget. 11. A system for managing power in a device, comprising: a display device configured to present image data; one or more processors communicatively coupled to the display device; one or more memory stores communicatively coupled to the one or more processors; a context aware agent configured to generate a context based performance level based at least

Assignees

Inventors

Classifications

  • G06F9/5094Primary

    where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title

  • by switching to a less power-consuming processor, e.g. sub-CPU · CPC title

  • G06T1/20Primary

    Processor architectures; Processor configuration, e.g. pipelining · CPC title

  • by lowering the supply or operating voltage · CPC title

  • Saving or restoring of program or task context · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9547356B2 cover?
Systems, apparatus and methods are described related to context aware power management for graphics devices.
Who is the assignee on this patent?
Tian Kun, Yu Ke, Dong Yao Zu, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/5094. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 17 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).