GPU Kickslot Streaming Manager for Workload Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveworkload processing performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #15Dynamics

2Power

If the number of shader cores is increased to handle more workloads, then compute capabilities improve, but work distribution and scheduling complexity increases

Engineering Contradiction:
Improvecompute capabilitiesVSAvoidwork distribution and scheduling complexity
Core Design Contradiction:
PowerVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improveaccess to compute powerVSAvoidsoftware overhead in scheduling
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20240273666A1Graphics Work Streaming Techniques for Distributed Architecture
Publication Date: 2024.08.15 APPLE INC
  • US20240273666A1 patent drawing
  • US20240273666A1 patent drawing
  • US20240273666A1 patent drawing

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.