# US 12,007,828 B2 · Apparatus and method to improve switchable graphics system performance and energy consumption based applications and real-time system power/thermal budgets

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,007,828 B2
- Document ID: US12007828B2
- Status: Granted
- Kind: B2
- Application number: 17/628,886
- Filed: 2020-08-03
- Published: 2022-08-11
- Granted: 2024-06-11
- Earliest claimed: 2019-08-20
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Srikrishnan Venkataraman; Mallari Hanchate; Sayan Lahiri; Vijayakumar Dibbad
- Web page: https://patentgrep.com/patent/US12007828B2

## CPC

- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/3293: by switching to a less power-consuming processor, e.g. sub-CPU
- G06F 1/329: by task scheduling
- G06F 9/4893: {taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- G06F 9/5094: {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)}
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 15/00: Three-dimensional [3D] image rendering
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A switchable graphics management scheme, which uses performance/watt information of both the iGPU/dGPU along with system real-time resources like SoC (system-on-chip) thermal, system power budgets to decide on the right GPU for rendering tasks. The scheme uses this threshold power point information along with system resources to determine the optimized GPU for tasks rendering for all applications and use cases. As such, the scheme of adapts to each system design based on capabilities of that specific system.

## Claims

### Claim 1

A graphics processor, comprising:
an integrated graphics processing unit (iGPU);
a discrete graphics processing unit (dGPU); and
logic to determine a power consumption of the iGPU when the iGPU starts processing data of an application, and when the power consumption crosses above a threshold, determine whether to request that an operating system or driver selects the dGPU in place of the iGPU to execute the application; wherein:
the power consumption is an exponentially weighted moving average power consumption of the iGPU; and
the threshold is set such that a performance of the iGPU is equal to a performance of the dGPU until the power consumption of the iGPU crosses above the threshold, and a performance of the iGPU falls below a performance of the dGPU when the power consumption of the iGPU crosses above the threshold.

### Claim 2 (depends on 1)

The graphics processor of claim 1, wherein to determine the power consumption, the logic is to:
receive telemetry information from a voltage regulator; and
determine an average power consumption of the graphics processor via current power data and previous power data received by the telemetry information.

### Claim 3 (depends on 1)

The graphics processor of claim 1, wherein the iGPU has a duty cycle based on a number of times the power consumption crosses the threshold, and the logic is to determine whether to request that the operating system or driver selects the dGPU in place of the iGPU based on the duty cycle.

### Claim 4 (depends on 1)

The graphics processor of claim 1, wherein the logic is to continue to allow the iGPU to execute the application if the logic determines that a power source is not capable of supporting a power consumption of the dGPU when the power consumption of the iGPU crosses above the threshold.

### Claim 5 (depends on 1)

The graphics processor of claim 1, wherein the logic is to continue to allow the iGPU to execute the application if the logic determines that a processor core of the graphics processor is thermally constrained when the power consumption of the iGPU crosses above the threshold.

### Claim 6 (depends on 1)

The graphics processor of claim 1, wherein prior to the logic determining the power consumption of the iGPU, the operating system or driver is to select the iGPU over the dGPU to execute the application.

### Claim 7 (depends on 1)

The graphics processor of claim 1, wherein the logic comprises a graphics power management algorithm performed by software, hardware, or a combination thereof.

### Claim 8 (depends on 1)

The graphics processor of claim 1, wherein the logic is to continue to allow the iGPU to execute the application if the logic determines that a processor core of the graphics processor is being throttled when the power consumption of the iGPU crosses above the threshold.

### Claim 9 (depends on 1)

The graphics processor of claim 1, wherein the threshold is set such that a performance of the iGPU is less than a performance of the dGPU when the power consumption of the iGPU exceeds the threshold.

### Claim 10

A non-transitory machine-readable media having instructions stored thereon that when executed cause a graphics processing unit (GPU) to perform a method comprising:
stressing an integrated graphics processing unit (iGPU) and a discrete graphics processing unit (dGPU) with various applications;
determining a performance of the iGPU, a performance of the dGPU, and a power consumption of the iGPU during the stressing for each application of the various applications;
determining one or more applications of the various applications in which the performance of the iGPU decreases relative to the performance of the iGPU in other applications of the various applications while a performance of the dGPU does not decrease relative to the performance of the dGPU in the other applications of the various applications;
determining a threshold power point (TPP) based on the power consumption of the iGPU when the performance of the iGPU decreases while the performance of the dGPU does not decrease; and
passing the TPP to a graphics power management algorithm.

### Claim 11 (depends on 10)

The non-transitory machine-readable media of claim 10, wherein the method performed further comprises determining the power consumption of the iGPU as an average power consumption based on current power data and previous power data.

### Claim 12 (depends on 10)

The non-transitory machine-readable media of claim 10, wherein the method performed further comprises determining the power consumption of the iGPU as an exponentially weighted moving average power consumption.

### Claim 13 (depends on 10)

The non-transitory machine-readable media of claim 10, wherein the graphics power management algorithm is configured to select the iGPU to execute a rendering task if the power consumption of the iGPU is less than the TPP.

### Claim 14 (depends on 10)

The non-transitory machine-readable media of claim 10, wherein the TPP is based on a duty cycle of the iGPU, and the duty cycle is based on a number of times the power consumption of the iGPU crosses the TPP.

### Claim 15 (depends on 10)

The non-transitory machine-readable media of claim 10, wherein the graphics power management algorithm is configured to select the iGPU or dGPU to execute a rendering task based on the TPP and a comparison of the power consumption of the iGPU to the TPP.

### Claim 16 (depends on 10)

The non-transitory machine-readable media of claim 10, wherein the TPP is passed to the graphics power management algorithm via a Basic Input/output System (BIOS) or an embedded controller.

### Claim 17

A system, comprising:
a memory;
a general purpose processor coupled to the memory; and
a graphics processor coupled to the general purpose processor, wherein the graphics processor comprises:
an integrated graphics processing unit (iGPU);
a discrete graphics processing unit (dGPU); and
logic to determine which one of the iGPU or dGPU is to execute a rendering task based on a comparison of a power consumption of the iGPU to a threshold, wherein the threshold is set such that a performance of the iGPU is equal to a performance of the dGPU until the power consumption of the iGPU crosses above the threshold, and the performance of the iGPU falls below a performance of the dGPU when the power consumption of the iGPU crosses above the threshold, and the logic is to determine an exponentially weighted moving average of the power consumption of the iGPU.

### Claim 18 (depends on 17)

The system of claim 17, wherein the logic is to receive telemetry information regarding the power consumption of the iGPU before the logic is to determine which one of the iGPU or dGPU is to execute the rendering task.

### Claim 19 (depends on 18)

The system of claim 18, wherein the logic is to determine the exponentially weighted moving average of the power consumption of the iGPU via current power data and previous power data received by the telemetry information.

### Claim 20 (depends on 19)

The system of claim 19, wherein the logic is to determine whether the average power consumption is greater than the threshold, and if the average power consumption is greater than the threshold, the logic is to select the dGPU to execute the rendering task, and if the average power consumption is less than the threshold, the logic is to select the iGPU to execute the rendering task.

### Claim 21 (depends on 17)

The system of claim 17, wherein the threshold is set such that the performance of the iGPU falls below the performance of the dGPU when the power consumption of the iGPU crosses above the threshold and the performance of the dGPU does not decrease.
