Processor Work Launching API State Object
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional computer systems waste clock cycles due to the CPU needing to wait for co-processors like GPUs to complete tasks before initiating subsequent tasks, leading to inefficiencies in processing power utilization.
Innovation Solution
A method for launching workloads directly on a processor using a work launching API that initializes a state object, populates it with data, and triggers workload execution, allowing for independent task management without CPU intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the CPU launches tasks on the GPU sequentially, then task execution can be initiated, but clock cycles are wasted due to the CPU waiting for task completion
Solution Approach 1:
The GPU is empowered to autonomously launch and manage its own tasks through a self-service mechanism. The GPU maintains a task queue and can independently initiate task execution without requiring CPU intervention for each task launch, allowing the GPU to service itself and eliminate the CPU's waiting time while maintaining high task execution throughput
Solution Approach 2:
A task queue data structure serves as an intermediary between the CPU and GPU task management systems. The CPU can populate this queue with tasks, and the GPU can independently retrieve and execute tasks from this queue without requiring synchronous CPU-GPU interaction for each task launch, thereby reducing CPU waiting time while maintaining productivity
Data Source
AI summary
One embodiment of the present invention sets forth a technique for launching work on a processor. The method includes the steps of initializing a first state object within a memory region accessible to a program executing on the processor, populating the first state object with data associated with a first workload that is generated by the program, and triggering the processing of the first workload on the processor according to the data within the first state object.


