GPU Hardware Scheduling for Dynamic Buffer Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems relying on CPUs to prioritize and schedule commands for GPUs do not fully utilize GPU resources efficiently, as they lack dynamic and local prioritization capabilities, leading to suboptimal allocation of processing power.

Innovation Solution

Implementing a system where the GPU selects and prioritizes a subset of buffers for execution based on its workload profile and received priority ordering, allowing for dynamic and efficient resource allocation, including the use of ring buffers and a ring list controller to coordinate memory access and scheduling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If CPU-based prioritization and scheduling is used for GPU commands, then system control and coordination are simplified, but GPU resource utilization efficiency deteriorates

Engineering Contradiction:
Improvecontrol system complexityVSAvoidGPU resource utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The GPU is equipped with hardware-based scheduling logic that enables it to autonomously prioritize and select command buffers for execution based on its own workload profile and internal state, rather than relying solely on CPU directives. This self-service capability allows the GPU to make real-time scheduling decisions that optimize its resource utilization while maintaining simplified CPU control architecture.

Inventive Principle:
Principle #25Self-service

2Productivity

If dynamic and local prioritization capabilities are implemented on GPU, then resource allocation efficiency improves, but device complexity increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidGPU internal complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces software-based prioritization mechanisms with hardware-based scheduling logic directly integrated into the GPU architecture. This substitution enables dynamic and local prioritization decisions to be made in hardware, achieving high resource allocation efficiency without proportionally increasing overall system complexity, as the decision-making capability is built into the GPU's execution pipeline rather than requiring complex external control software.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP2473914B1Hardware-based scheduling of graphics processor unit (GPU) work
Publication Date: 2017.03.22 ADVANCED MICRO DEVICES INC
  • EP2473914B1 patent drawing
  • EP2473914B1 patent drawing
  • EP2473914B1 patent drawing

AI summary

An apparatus and methods for scheduling and executing commands issued by a first processor, such as a CPU, on a second processor, such as a GPU, are disclosed. In one embodiment, a method of executing processes on a graphics processing unit (GPU) includes monitoring one or more buffers in a memory, selecting a first subset from the one or more buffers for execution on the GPU based on a workload profile of the GPU, and executing the first subset on the GPU. The GPU may also receive a priority ordering of the one or more buffers, where the selecting is further based on the received priority ordering. By performing prioritization and scheduling of commands in the GPU, system performance is enhanced.