GPU Task Scheduling via Pass Group and Age Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Complex scheduling circuitry in GPUs consumes significant area and power, which is problematic in mobile graphics applications where battery power is limited, and existing scheduling approaches may not efficiently manage different processing workloads.
Innovation Solution
A graphics processing unit with scheduling circuitry that maintains pass group and relative age information to select tasks for execution, prioritizing tasks from the oldest frame portion and current pass group, and using a round-robin approach if necessary, to optimize task scheduling without requiring complex hardware.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If complex scheduling circuitry is used to manage different processing workloads efficiently, then task scheduling performance is improved, but area and power consumption increase
Solution Approach 1:
The patent segments the frame into multiple frame portions and organizes tasks into pass groups, where each pass group contains tasks for a specific frame portion. This segmentation allows the scheduling circuitry to manage tasks in smaller, organized units rather than handling all tasks simultaneously, improving scheduling efficiency while keeping the circuitry manageable in complexity
Solution Approach 2:
The patent maintains pass group information and relative age information for frame portions in advance of task execution. By pre-organizing tasks into pass groups and tracking frame portion ages beforehand, the scheduling circuitry can make efficient task selections without requiring complex real-time analysis, thus improving productivity while limiting circuitry complexity
2Productivity
If complex scheduling circuitry is used to manage different processing workloads efficiently, then task scheduling performance is improved, but power consumption increases
Solution Approach 1:
By segmenting tasks into pass groups associated with specific frame portions, the scheduling circuitry processes tasks in organized batches rather than continuously analyzing all tasks. This segmentation reduces the computational burden and power consumption of the scheduling circuitry while maintaining effective task management across different workloads
Solution Approach 2:
The circuitry pre-maintains pass group information and relative age information for frame portions before task execution begins. This preliminary organization eliminates the need for complex real-time scheduling decisions during execution, reducing power consumption while ensuring efficient task scheduling performance
3Device complexity
If simple scheduling approaches are used to reduce area and power consumption, then device complexity is reduced, but task scheduling performance deteriorates
Solution Approach 1:
The patent implements a dynamic scheduling approach where the circuitry selectively applies different scheduling strategies based on task characteristics. The scheduler can choose between strict pass group ordering, age-based prioritization, or round-robin selection depending on the specific workload and frame portion state, achieving high task scheduling performance with relatively simple circuitry that adapts to different scenarios
4Use of energy by stationary object
If simple scheduling approaches are used to reduce power consumption, then energy usage is reduced, but task scheduling performance deteriorates
Solution Approach 1:
The dynamic scheduling approach allows the circuitry to use simpler scheduling logic when workloads permit, reducing power consumption. When performance demands increase or specific task patterns are detected, the circuitry can switch to more sophisticated scheduling strategies, thus achieving good task scheduling performance with lower average power consumption compared to always using complex scheduling
Data Source
AI summary
Techniques are disclosed relating to scheduling tasks for graphics processing. In one embodiment, a graphics unit is configured to render a frame of graphics data using a plurality of pass groups and the frame of graphics data includes a plurality of frame portions. In this embodiment, the graphics unit includes scheduling circuitry configured to receive a plurality of tasks, maintain pass group information for each of the plurality of tasks, and maintain relative age information for the plurality of frame portions. In this embodiment, the scheduling circuitry is configured to select a task for execution based on the pass group information and the age information. In some embodiments, the scheduling circuitry is configured to select tasks from an oldest frame portion and current pass group before selecting other tasks. This scheduling approach may result in efficient execution of various different types of graphics workloads.


