Context aware power management for graphics devices
US-9547356-B2 · Jan 17, 2017 · US
US10228748B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10228748-B2 |
| Application number | US-201615374068-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 9, 2016 |
| Priority date | Feb 28, 2013 |
| Publication date | Mar 12, 2019 |
| Grant date | Mar 12, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, apparatus and methods are described related to context aware power management for graphics devices.
Opening claim text (preview).
What is claimed: 1. A computer-implemented method for managing power in a device comprising: generating, at a graphics client, one or more rendering commands; generating, at a context aware agent of the device, a context-based performance level based at least in part on a graphics context, wherein the context-based performance level alternates between a non-power saving strict performance level and a power saving elastic performance level; 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, wherein determining the one or more graphics rendering performance characteristics further comprises evaluating the one or more rendering commands based on a heuristic algorithm, wherein determining o the one or more graphics rendering performance characteristics is based on one or more of activating a power governor at the power saving elastic performance level, and activating a performance governor at the non-power saving strict performance level; performing, at a graphics hardware module of the device, a graphics rendering based at least in part on at least one of the one or more rendering commands as well as on the one or more graphics rendering performance characteristics; and 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. 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 , 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 the performance governor, a hardware governor, or the power governor, wherein the performance governor receives performance targets, and wherein the power governor receives a power budget. 10. The method of claim 1 , further comprising: 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; and 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 evaluating the one or more rendering commands is performed via the power management module. 11. 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; 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; and 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 activating one or more governors associated with the context-based performance level, wherein the one or more governors comprise at least one of the performance governor, a hardware governor, or the 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
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
Means for saving power · CPC title
Processor architectures; Processor configuration, e.g. pipelining · CPC title
of display devices · CPC title
by switching to a less power-consuming processor, e.g. sub-CPU · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.