Dynamic Graphics Processor Execution Resource Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing mechanisms for scaling execution units in graphics processors often lead to increased power dissipation and maximum load current, while attempting to reduce power consumption, which can negatively impact overall system performance by reducing available execution resources.

Innovation Solution

The system dynamically scales execution units in a graphics processor based on utilization metrics, such as current execution unit utilization rates and anticipated high utilization periods indicated by new draw calls, to manage power without affecting performance during high graphics processor utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the number of active execution units is reduced during low utilization periods, then power dissipation and maximum load current are reduced, but execution resources available to graphics operations are reduced

Engineering Contradiction:
Improvepower dissipationVSAvoidexecution resources available
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system dynamically adjusts the number of active execution units based on real-time workload detection. The graphics processor monitors workload characteristics and automatically scales execution unit activation, transitioning from a static configuration to a dynamic one that adapts to changing demands, thereby reducing power dissipation during low utilization while maintaining sufficient execution resources when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of the graphics processor by adjusting the number of active execution units based on detected workload conditions. This parameter adjustment allows the system to optimize power dissipation by activating only the necessary number of execution units, while preserving the capability to quickly scale up resources when workload demands increase.

Inventive Principle:
Principle #35Parameter changes

2Use of energy by stationary object

If existing mechanisms scale execution units, then power consumption is reduced, but overall system performance is harmed

Engineering Contradiction:
Improvepower consumptionVSAvoidsystem performance
Core Design Contradiction:
Use of energy by stationary objectVSProductivity

Solution Approach 1:

The system performs preliminary detection of workload characteristics before making scaling decisions. By analyzing workload patterns and predicting future resource needs, the graphics processor can proactively adjust execution unit activation to match anticipated demands, preventing performance degradation that would occur with reactive scaling approaches.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where the graphics processor continuously monitors workload conditions and adjusts execution unit activation accordingly. This closed-loop control ensures that power consumption is optimized while maintaining system performance, as the feedback from workload monitoring guides the scaling decisions to prevent both over-provisioning and under-provisioning of execution resources.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10025367B2Dynamic scaling of graphics processor execution resources
Publication Date: 2018.07.17 INTEL CORP
  • US10025367B2 patent drawing
  • US10025367B2 patent drawing
  • US10025367B2 patent drawing

AI summary

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.