GPU Scheduler Kernel for Autonomous Workload Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Ease of operation
If the host processor frequently communicates with the GPU to control execution, then workload management is achieved, but power consumption increases
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.
3Reliability
If the GPU processes nodes sequentially with host intervention, then control is maintained, but execution efficiency decreases
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.
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.
Data Source
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.


