Patent No. US8854381 (titled "Processing unit that enables asynchronous task dispatch") on Sep 1, 2010. The application was issued on Oct 7, 2014.
’381 is related to the field of high-performance computing and graphics processing, specifically addressing how a processing unit manages multiple concurrent workloads. In traditional architectures, a GPU typically processes a single command stream at a time, requiring a costly and time-consuming context switch to swap out state data when a higher-priority task needs to interrupt a running process. This overhead creates significant latency and necessitates extra hardware for backing up data, which limits the efficiency of real-time or high-priority compute tasks.
The underlying idea behind ’381 is the implementation of virtual engines that allow a single shader core to maintain and execute multiple contexts simultaneously. Instead of treating the GPU as a serial processor that must drain its pipeline to switch tasks, the invention enables the hardware to receive multiple task streams in parallel. By partitioning the physical resources of the shader core, the system can handle different priority levels—such as background tasks and low-latency 3D rendering—without the performance penalty of traditional context switching.
The claims of ’381 focus on a processing architecture where a plurality of engines receives tasks from an external scheduler and loads their respective state data into a shared shader core. The independent claims specifically protect the mechanism by which the shader core executes a first task and a second task concurrently based on their individual state data. This includes the coordination between a primary processor, like a CPU, and the specialized processing unit to ensure that tasks are dispatched and executed based on their specific priority types.
In practice, the invention works by utilizing spatial and temporal partitioning of the shader core’s SIMD units. Spatial partitioning assigns specific subsets of processing elements to different tasks, while temporal partitioning allows tasks to share the same elements over interleaved time slices. A scheduling module within the GPU manages these resources dynamically, ensuring that high-priority, low-latency tasks get immediate access to the necessary compute cycles while standard graphics tasks continue to progress in the background.
This approach differs from prior solutions by eliminating the need to flush the pipeline and swap memory contents during a task change. By allowing multiple active contexts to reside within the local data share of the shader core at once, the invention enables a GPU to behave more like a multi-tasking CPU. This is particularly effective for large chips where resources can be divided among concurrent tasks based on demand, ensuring that no single low-latency task is delayed by the overhead of stopping a massive graphics workload.
In the late 2000s when ’381 was filed, graphics processing units were typically implemented as serial command processors that executed tasks from a single command buffer provided by the operating system. At a time when systems commonly relied on a monolithic execution model, the hardware was designed to process one context at a time, meaning that all processing elements in a shader core were dedicated to a single task until completion or interruption. When hardware constraints made the management of multiple concurrent execution streams non-trivial, high-priority or low-latency tasks necessitated a full context switch, where the state data of the active task was swapped out to backup storage to make room for new state data. This architectural reliance on serial processing and state-swapping created significant latency overhead and required substantial physical chip area for backup data storage units.
The disclosed invention represents a technical advancement through an architectural shift from serial context switching to asynchronous, parallel task dispatch within a single shader core. By integrating a plurality of virtual engines capable of receiving multiple tasks and their associated state data substantially in parallel, the system enables the simultaneous existence of multiple contexts. This structural solution overcomes the technical constraint of context-switch latency by employing spatial or temporal partitioning of the shader core resources, allowing high-priority and standard tasks to share processing elements without draining the pipeline. The resulting capability enables the processing unit to execute low-latency tasks with minimal overhead while maintaining high utilization of computational resources across diverse instruction streams.
This patent contains 27 claims, with claims 1, 9, 15, 21, and 27 serving as the independent claims. These independent claims focus on a hardware and software architecture where a first processing unit utilizes multiple engines to receive tasks and load state data from a second processing unit, enabling a shader core to concurrently execute multiple tasks based on their respective state data. The dependent claims further define the system by specifying the use of multiple processing elements, task queuing mechanisms, priority-based execution, and the differentiation between low-latency, graphics-processing, and general-compute task types.
Definitions of key terms used in the patent claims.
US Latest litigation cases involving this patent.

The dossier documents provide a comprehensive record of the patent's prosecution history - including filings, correspondence, and decisions made by patent offices - and are crucial for understanding the patent's legal journey and any challenges it may have faced during examination.
Get instant alerts for new documents