GPU Kickslot Streaming Manager for Workload Distribution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing unit (GPU) technologies face challenges in efficiently distributing and scheduling workloads across multiple shader cores, leading to suboptimal performance and increased power consumption, particularly as the number of shaders increases.
Innovation Solution
The implementation of logical kickslots and a streaming kickslot manager (S-KSM) that allows for fine-grained virtual kickslot scheduling, start-when-ready embodiments, and pipelining of kicks, enabling flexible distribution of work across multiple GPU sub-units (mGPUs) and reducing software overhead in scheduling GPU work.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional work distribution techniques are used across multiple shader cores, then the system can handle large-scale workloads, but performance and power consumption become suboptimal
Solution Approach 1:
The patent segments the monolithic work distribution approach into fine-grained kickslot units that can be independently scheduled and distributed across shader cores. Each kickslot represents a discrete unit of work that can be efficiently mapped to available hardware resources, enabling selective activation of shader cores based on actual workload requirements rather than uniformly activating all cores.
Solution Approach 2:
The system implements dynamic work distribution where kickslots are scheduled and distributed in real-time based on current hardware slot availability and workload characteristics. The scheduling mechanism adapts to changing conditions by dynamically assigning kicks to appropriate hardware slots, allowing the system to optimize power consumption by activating only the necessary number of shader cores at any given time.
2Power
If the number of shader cores is increased to handle more workloads, then compute capabilities improve, but work distribution and scheduling complexity increases
Solution Approach 1:
The patent introduces kickslots as an intermediary layer between the software workload description and the physical shader core hardware. This intermediary abstraction simplifies the scheduling complexity by providing a standardized interface for work distribution, allowing the system to manage large numbers of shader cores through a consistent kickslot-based mechanism rather than dealing with individual core management complexity.
Solution Approach 2:
The kickslot mechanism serves multiple functions simultaneously: it acts as a work unit container, a scheduling entity, a hardware slot mapping interface, and a power management control point. This multi-functionality reduces overall system complexity by consolidating multiple management responsibilities into a single unified mechanism that works across all shader cores regardless of their number.
3Adaptability or versatility
If software provides detailed work units (kicks) to be performed, then compute tasks can be accessed, but software overhead in scheduling GPU work increases
Solution Approach 1:
The system implements self-service scheduling where the hardware kickslot manager automatically manages the distribution and scheduling of kicks to hardware slots without requiring continuous software intervention. Once software submits work units, the hardware autonomously handles the complex scheduling, mapping, and distribution tasks, significantly reducing software overhead while maintaining flexible access to compute power.
Solution Approach 2:
The patent implements preliminary organization of work into kickslot units that are pre-configured with necessary metadata and scheduling information. This preliminary structuring of work units allows the hardware scheduling mechanism to efficiently process and distribute kicks without requiring extensive software intervention during execution, reducing scheduling overhead while preserving adaptability.
Data Source
AI summary
Disclosed techniques relate to scheduling sets of graphics work using queues. In some embodiments, tracking circuitry implements entries for multiple tracking slots for a graphics processor. Queue access circuitry may access a data structure in memory that specifies multiple queues, where each queue enqueues control information for multiple sets of graphics work. Queue select circuitry may select sets of graphics work from the data structure based on one or more selection parameters and store control information for selected sets of graphics work in tracking slots of the tracking slot circuitry. Distribution circuitry may assign portions of respective sets of graphics work from the tracking slots to graphics processor circuitry for execution.


