GPU Set Manager Adaptive Workload Tuning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to wavefront scheduling in GPU processing units are inefficient, leading to suboptimal resource utilization and processing inefficiencies.

Innovation Solution

A set manager monitors marker events to determine execution times of sets of instructions, allowing for adaptive tuning of workload submissions based on processor pipeline availability, adjusting the number and size of instruction sets to improve processing efficiency and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional wavefront scheduling approaches are used, then the processor pipeline can execute instructions, but resource utilization is inefficient

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidresource utilization efficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system implements feedback by monitoring marker events that delimit instruction sets, measuring their execution times, and using this information to adaptively tune future workload submissions. The set manager adjusts the number and size of instruction sets based on actual execution performance data, creating a closed-loop optimization system that improves resource utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The workload submission strategy transitions from static conventional scheduling to dynamic adaptive tuning. The set manager continuously adjusts the number of instruction sets and their sizes based on real-time execution time measurements and processor availability, allowing the system to optimize resource allocation dynamically rather than using fixed schedules.

Inventive Principle:
Principle #15Dynamics

2Speed

If the number of instruction sets is increased to improve throughput, then processing speed increases, but processor pipeline availability is reduced

Engineering Contradiction:
Improveinstruction processing speedVSAvoidprocessor pipeline availability
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system changes key parameters of workload submission including the number of instruction sets and their individual sizes based on measured execution times and processor availability. By adjusting these parameters dynamically, the system optimizes the balance between processing speed and pipeline availability, preventing both oversubscription and underutilization.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies partial action by submitting a controlled number of instruction sets that is optimized based on execution time measurements, rather than consistently submitting maximum possible sets. This partial submission strategy prevents pipeline saturation while maintaining high throughput, adjusting the action level based on actual system state.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If instruction sets are submitted frequently to maintain throughput, then processing continues smoothly, but context switching overhead increases

Engineering Contradiction:
Improvecontinuous processing capabilityVSAvoidcontext switching complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The set manager performs preliminary characterization of instruction set execution times and uses this information to pre-calculate optimized submission strategies. By measuring execution times of marker-delimited instruction sets and storing this data for future reference, the system prepares adaptive schedules in advance, reducing the need for frequent context switching and simplifying control logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11900123B2Marker-based processor instruction grouping
Publication Date: 2024.02.13 ADVANCED MICRO DEVICES INC
  • US11900123B2 patent drawing
  • US11900123B2 patent drawing
  • US11900123B2 patent drawing

AI summary

A system includes a processing unit such as a GPU that itself includes a command processor configured to receive instructions for execution from a software application. A processor pipeline coupled to the processing unit includes a set of parallel processing units for executing the instructions in sets. A set manager is coupled to one or more of the processor pipeline and the command processor. The set manager includes at least one table for storing a set start time, a set end time, and a set execution time. The set manager determines an execution time for one or more sets of instructions of a first window of sets of instructions submitted to the processor pipeline. Based on the execution time of the one or more sets of instructions, a set limit is determined and applied to one or more sets of instructions of a second window subsequent to the first window.