Context aware power management for graphics devices

US10228748B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10228748-B2
Application numberUS-201615374068-A
CountryUS
Kind codeB2
Filing dateDec 9, 2016
Priority dateFeb 28, 2013
Publication dateMar 12, 2019
Grant dateMar 12, 2019

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: 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

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

  • Means for saving power · CPC title

  • G06T1/20Primary

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

  • G06F1/3218Primary

    of display devices · CPC title

  • by switching to a less power-consuming processor, e.g. sub-CPU · 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 US10228748B2 cover?
Systems, apparatus and methods are described related to context aware power management for graphics devices.
Who is the assignee on this patent?
Intel Corp
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 Mar 12 2019 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).