GPU Scheduler Kernel for Autonomous Workload Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current GPU execution models for graph traversal require significant host intervention, leading to power and performance inefficiencies due to the need for frequent communication between the host processor and GPU, especially when the scale and magnitude of the workload are unknown until execution time.

Innovation Solution

Implementing a GPU execution model where the GPU dynamically manages its resources and schedules workloads independently, using a scheduler kernel to execute child kernels without host intervention, thereby reducing communication and improving performance and energy efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the host processor controls GPU execution for graph traversal, then the workload can be managed, but communication overhead increases and performance decreases

Engineering Contradiction:
Improveexecution speedVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The GPU executes child kernels autonomously without host intervention. When a parent kernel completes, the GPU automatically determines whether to execute child kernels based on runtime conditions, eliminating the need for host processor involvement in scheduling decisions and reducing communication overhead.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The execution model dynamically adapts to runtime conditions by allowing the GPU to decide at execution time whether to spawn child kernels. This dynamic decision-making capability enables the system to respond to unknown workload characteristics without requiring predetermined scheduling from the host processor.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If the host processor frequently communicates with the GPU to control execution, then workload management is achieved, but power consumption increases

Engineering Contradiction:
Improveworkload managementVSAvoidpower consumption
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The GPU manages its own workload execution by autonomously determining when to execute child kernels based on parent kernel completion and runtime conditions. This self-management capability eliminates frequent host-GPU communication cycles, thereby reducing power consumption while maintaining effective workload management.

Inventive Principle:
Principle #25Self-service

3Reliability

If the GPU processes nodes sequentially with host intervention, then control is maintained, but execution efficiency decreases

Engineering Contradiction:
Improvecontrol accuracyVSAvoidexecution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The GPU autonomously manages the execution of child kernels without host intervention, maintaining control accuracy through programmed execution logic while dramatically improving execution efficiency by eliminating communication overhead and enabling continuous processing.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The GPU maintains continuous execution by automatically transitioning from parent kernel completion to child kernel execution without interruption or host intervention. This continuous action eliminates idle communication periods and maximizes utilization of GPU execution units.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10521874B2Method and apparatus for a highly efficient graphics processing unit (GPU) execution model
Publication Date: 2019.12.31 INTEL CORP
  • US10521874B2 patent drawing
  • US10521874B2 patent drawing
  • US10521874B2 patent drawing

AI summary

An apparatus and method are described for executing workloads without host intervention. For example, one embodiment of an apparatus comprises: a host processor; and a graphics processor unit (GPU) to execute a hierarchical workload responsive to one or more commands issued by the host processor, the hierarchical workload comprising a parent workload and a plurality of child workloads interconnected in a logical graph structure; and a scheduler kernel implemented by the GPU to schedule execution of the plurality of child workloads without host intervention, the scheduler kernel to evaluate conditions required for execution of the child workloads and determine an order in which to execute the child workloads on the GPU based on the evaluated conditions; the GPU to execute the child workloads in the order determined by the scheduler kernel and to provide results of parent and child workloads to the host processor following execution of all of the child workloads.