Runtime Shader Scheduling Using Multi-Frame Telemetry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics rendering tasks are becoming increasingly complex, leading to challenges in scheduling that result in delays and idle time due to generalized scheduling algorithms that are not optimized for specific scenarios, particularly in graphics processing hardware.

Innovation Solution

A system that updates shader scheduling policies at runtime using a cloud server to analyze telemetry data from multiple frames, allowing for more informed and customized scheduling decisions based on user and application-specific data, without requiring driver updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If generalized scheduling algorithms are used for graphics rendering tasks, then the scheduling system can handle diverse task types, but delays and idle time occur due to lack of optimization for specific scenarios

Engineering Contradiction:
Improvescheduling algorithm versatilityVSAvoidgraphics rendering throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic shader scheduling policies that are updated at runtime based on telemetry data collected from multiple frames. Instead of using static generalized scheduling algorithms, the system continuously adapts scheduling parameters (such as priority weights, queue depths, and resource allocation) based on observed workload patterns, frame timing data, and hardware utilization metrics. This dynamic adaptation resolves the contradiction by maintaining versatility through programmable scheduling while improving productivity through data-driven optimization for specific rendering scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system collects telemetry data from graphics rendering operations and uses this feedback to update scheduling policies. The feedback loop captures information about task execution times, resource utilization, and frame timing, then uses machine learning models to generate optimized scheduling parameters. This feedback mechanism enables the system to maintain versatility while continuously improving rendering throughput by adapting to specific workload characteristics observed in practice.

Inventive Principle:
Principle #23Feedback

2Productivity

If shader scheduling policies are updated at runtime using telemetry data, then load balancing and performance are improved, but system complexity increases due to data collection and processing requirements

Engineering Contradiction:
Improverendering performanceVSAvoidscheduling system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces machine learning models as intermediary components that process telemetry data and generate scheduling policies. Rather than implementing complex scheduling logic directly in the graphics driver, the system uses ML models to translate raw telemetry data into optimized scheduling parameters. This intermediary layer simplifies the overall system architecture by centralizing the complexity in a dedicated component while maintaining relatively simple scheduling execution in the graphics processing path.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary analysis of telemetry data from multiple frames before updating scheduling policies. By collecting and analyzing data over several frames in advance, the system can make informed scheduling decisions without adding complexity to the real-time rendering path. This preliminary action approach allows the system to improve rendering performance while keeping the runtime overhead manageable by pre-processing scheduling decisions before they are applied.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If generalized scheduling algorithms are used, then implementation is simpler, but idle time occurs due to non-optimized task allocation

Engineering Contradiction:
Improvescheduling system implementation easeVSAvoidgraphics processing idle time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent optimizes scheduling by changing parameters such as task priority weights, queue depths, and resource allocation ratios based on telemetry data. Instead of replacing the entire scheduling algorithm, the system adjusts key parameters to optimize task allocation for observed workload patterns. This approach maintains implementation simplicity while reducing idle time by adapting scheduling parameters to match actual rendering demands rather than relying on fixed generalized algorithms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12499604B2Updating shader scheduling policy at runtime
Publication Date: 2025.12.16 ADVANCED MICRO DEVICES INC
  • US12499604B2 patent drawing
  • US12499604B2 patent drawing
  • US12499604B2 patent drawing

AI summary

Systems, apparatuses, and methods for updating and optimizing task scheduling policies are disclosed. A new policy is obtained and updated at runtime by a client based on a server analyzing a wide spectrum of telemetry data on a relatively long time scale. Instead of only looking at the telemetry data from the client's execution of tasks for the previous frame, the server analyzes the execution times of tasks for multiple previous frames so as to determine a more optimal policy for subsequent frames. This mechanism enables making a more informed task scheduling policy decision as well as customizing the policy per application, game, and user without requiring a driver update. Also, this mechanism facilitates improved load balancing across the various processing engines, each of which has their own task queues. The improved load balancing is achieved by analyzing the telemetry data including resource utilization statistics for the different processing engines.