Dynamic scaling of graphics processor execution resources

US10025367B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10025367-B2
Application numberUS-201414463573-A
CountryUS
Kind codeB2
Filing dateAug 19, 2014
Priority dateAug 19, 2014
Publication dateJul 17, 2018
Grant dateJul 17, 2018

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.

In one embodiment execution units, graphics cores, or graphics sub-cores can be dynamically scaled across a frame of graphics operations. Available execution units within each graphics core may be scaled using utilization metrics such as the current utilization rate of the execution units and the submission of new draw calls. In one embodiment, one of more of the sub-cores within each graphics core may be enable or disabled based on current or past utilization of the sub-cores based on a set of current graphics operations.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: multiple graphics execution units; first hardware logic coupled to the multiple graphics execution units, the first hardware logic to monitor utilization including average utilization and peak utilization of the execution units during multiple monitor windows of a decision window; second hardware logic coupled to the multiple graphics execution units, the second hardware logic to detect a graphics operation affecting multiple frames; and third hardware logic coupled to the multiple graphics execution units, the third hardware logic to dynamically power gate a first portion of the execution units based on the peak utilization and the average utilization during at least one monitor window within a frame of the graphics operation to dynamically scale the first portion of the execution units within a first time period of the frame based on changing characteristics within the frame, wherein the first portion is power gated to ON if the peak utilization exceeds a peak utilization threshold and wherein the first portion is also power gated to ON if the average utilization exceeds an average utilization threshold. 2. The apparatus as in claim 1 wherein the third logic further to ungate the first portion of the execution units within a second time period of the frame based on approaching a change in at least one of the peak utilization and the average utilization during the frame. 3. The apparatus of claim 1 wherein the utilization of the execution units is floating point unit utilization and the graphics operation includes a draw call from a graphics programming interface. 4. The apparatus as in claim 1 wherein the third logic further to increase a clock frequency of a second portion of the execution units while power gating the first portion of the execution units and the increase in clock frequency does not increase maximum current load. 5. The apparatus as in claim 4 wherein the apparatus is a graphics processing unit including one or more sub-cores and the multiple execution units are distributed across the one or more sub-cores. 6. The apparatus as in claim 5 wherein the third logic further to power gate or power ungate a portion of the one or more sub-cores based on a first level of utilization of the sub-cores or a second level of utilization that is greater than the first level of utilization. 7. The apparatus as in claim 6 wherein the utilization of the sub-cores includes utilization for the execution units, texture processing resources, or pixel processing resources. 8. The apparatus as in claim 6 wherein the third logic to power gate or power ungate the portion of the one or more sub-cores at a boundary including a start of a new batch buffer or pipeline flush. 9. The apparatus as in claim 8 further comprising a power control unit (PCU) to power manage the one or more sub-cores, the PCU including the first, second or third logic. 10. The apparatus as in claim 9 wherein the PCU further to correlate utilization and state for the one or more sub-cores to determine utilization windows. 11. A system comprising: a graphics processing unit (GPU) including one or more cores, each of the one or more cores including multiple sub-cores that each include execution units, the GPU to monitor utilization including average utilization and peak utilization of the execution units during multiple monitor windows of a decision window; and a power control unit (PCU) coupled to the one or more cores, the power control unit to dynamically power gate a first portion of the execution units based on the peak utilization and the average utilization during at least one monitor window within a frame of a graphics operation to dynamically scale the first portion of the execution units within a first time period of the frame based on changing characteristics within the frame, wherein the first portion is power gated to ON if the peak utilization exceeds a peak utilization threshold and wherein the first portion is also power gated to ON if the average utilization exceeds an average utilization threshold. 12. The system of claim 11 wherein the PCU to ungate the first portion of the execution units within a second time period of the frame based on approaching a change in at least one of the peak utilization and the average utilization during the frame. 13. The system of claim 11 wherein each of the sub-cores includes a texture processing resource and execution units, the utilization of the sub-cores includes utilization of the execution units or utilization of the texture processing resource. 14. The system of claim 13 wherein the GPU to report the utilization of the sub-cores. 15. The system of claim 13 wherein the PCU to power gate one or more of the execution units based on the utilization of the execution units. 16. The system of claim 15 wherein the GPU to signal in response to a graphics operation and the PCU, in response to the signal, to power ungate all power gated execution units. 17. The system of claim 16 wherein the graphics processing unit to signal after a number of graphics operations are received within a period and the graphics operation is a draw call from a graphics programming interface. 18. A method comprising: determining utilization including average utilization and peak utilization of execution units within a graphics processor during multiple monitor windows of a decision window; dynamically power gating a first portion of the execution units based on the peak utilization and the average utilization during at least one monitor window within a frame of a draw call to dynamically scale the first portion of the execution units within a first time period of the frame based on changing characteristics within the frame while monitoring the graphics processor for a draw call from a graphics programming interface, wherein the first portion is power gated if the peak utilization exceeds a peak utilization threshold and wherein the first portion is also power gated if the average utilization exceeds an average utilization threshold; ungating at least the first portion of the power gated execution units within a second time period of the frame based on the utilization including a change in at least one of the peak utilization and the average utilization during the frame; and ungating the power gated execution units in response to the draw call. 19. The method of claim 18 wherein determining utilization comprises: defining a first timer for a monitor window; computing utilization statistics for execution units during the monitor window; and storing the utilization statistics in response to the first timer expiring. 20. The method of claim 19 wherein power gating the portion of the execution units comprises: defining a second timer for the decision window; retrieving the utilization statistics in response the second timer expiring; and power gating the portion of the execution units based on the utilization statistics. 21. A method for scaling graphics processor resources, the method comprising: reading, with power management hardware logic, utilization metrics including average utilization and peak utilization during multiple monitor windows of a decision window for execution units of a sub-core of the graphics processor; reading, with the power management hardware logic, graphics state information to determine a position of a current graphics operation in a frame of graphics operations; and dynamically power gating a first portion of t

Assignees

Inventors

Classifications

  • G06F1/3234Primary

    Power saving characterised by the action undertaken · CPC title

  • by lowering the supply or operating voltage · CPC title

  • by switching off individual functional units in the computer system · CPC title

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

  • by lowering clock frequency · 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 US10025367B2 cover?
In one embodiment execution units, graphics cores, or graphics sub-cores can be dynamically scaled across a frame of graphics operations. Available execution units within each graphics core may be scaled using utilization metrics such as the current utilization rate of the execution units and the submission of new draw calls. In one embodiment, one of more of the sub-cores within each graphics …
Who is the assignee on this patent?
Kaburlasos Nikos, Samson Eric, Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F1/3234. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 17 2018 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).