Dynamic Shader Engine Allocation for APU Power-Performance Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Larger APUs face inefficiencies in power consumption and performance due to idle graphics pipeline leakage and wasted power distribution when executing workloads with low concurrent active contexts, leading to suboptimal performance-to-power ratios and reduced battery life.

Innovation Solution

Dynamic and software-controlled allocation of shader engines based on application profiles and power configurations, enabling selective activation and deactivation of shader engines to optimize performance-to-power ratios by adjusting the number of active engines according to specific application needs and power sources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all shader engines are activated in larger APUs, then maximum graphics processing performance is achieved, but power consumption increases due to idle graphics pipeline leakage and wasted power distribution

Engineering Contradiction:
Improvegraphics processing performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically activates or deactivates shader engines based on runtime workload requirements. The driver or run list controller determines the appropriate number of shader engines to activate for each application, allowing the system to adapt power consumption to actual processing needs rather than maintaining a static configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameter of shader engine activation state (active/inactive) based on application profiles and workload characteristics. By modifying this binary parameter dynamically, the system optimizes the balance between performance and power consumption for different application scenarios.

Inventive Principle:
Principle #35Parameter changes

2Ease of operation

If shader engines are statically enabled at system initialization, then hardware resources are readily available, but the system cannot adapt to varying application requirements and maintains suboptimal performance-to-power ratios

Engineering Contradiction:
Improvehardware resource availabilityVSAvoidapplication-specific optimization
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system transitions from static hardware configuration to dynamic runtime adaptation. Shader engine activation is determined at runtime based on application profiles and workload characteristics, enabling the system to optimize resource allocation for each specific application while maintaining ease of operation through automated driver-level control.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs self-configuration of shader engine activation based on application profiles stored in the driver. The run list controller automatically determines the appropriate number of shader engines to activate without requiring manual user intervention, enabling the system to serve itself optimally for different application scenarios.

Inventive Principle:
Principle #25Self-service

3Device complexity

If the system operates with a fixed number of shader engines, then hardware configuration is simple, but power efficiency cannot be optimized for different application types and workload intensities

Engineering Contradiction:
Improvehardware configuration simplicityVSAvoidwasted power distribution
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

The system implements dynamic shader engine allocation that adapts to different application types and workload intensities. By controlling the activation state of individual shader engines based on runtime requirements, the system optimizes power efficiency without complicating the underlying hardware configuration, as the complexity is managed at the software/driver level.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12555299B2Scalable graphics processing using dynamic shader engine allocation
Publication Date: 2026.02.17 ADVANCED MICRO DEVICES INC
  • US12555299B2 patent drawing
  • US12555299B2 patent drawing
  • US12555299B2 patent drawing

AI summary

Techniques are described for implementing selective activation and deactivation of a dynamically allocated subset of shader engines, such as based on application-based profile information and/or on an active system power configuration. Instructions for execution are received from an application associated with a first application profile. Based on the application profile, a quantity of activated shader engines in a plurality of shader engines is modified. The quantity of activated shader engines is further modified responsive to receiving additional instructions from a second application, and/or to receiving one or more indications of an altered active system power configuration.