Graphics processor mid-thread preemption

US2025232511A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2025232511-A1
Application numberUS-202418414807-A
CountryUS
Kind codeA1
Filing dateJan 17, 2024
Priority dateJan 17, 2024
Publication dateJul 17, 2025
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are provided to enable mid-thread (instruction level) preemption in a graphics processor without requiring software intervention by a graphics driver associated with the graphics processor. Hardware based mid-thread preemption is facilitated using the thread dispatch hardware of the graphics processor to trigger execution of a kernel program by the graphics processor that saves the thread state of preempted processing resources and facilitates the subsequent restoration of that thread state to the same or a different set of processing resources.

First claim

Opening claim text (preview).

What is claimed is: 1 . A graphics processor comprising: a memory interface; a plurality of graphics cores coupled via a data interconnect, each graphics core of the plurality of graphics cores including a plurality of processing resources; and circuitry to manage execution of workloads by the plurality of graphics cores, the circuitry configured to: dispatch a first plurality of threads on behalf of a first thread group to be executed by a first set of processing resources of the plurality of processing resources; receive a command to perform mid-thread preemption of the first thread group; trigger, on the first set of processing resources, execution of a kernel program to save execution state for the first set of processing resources to memory of the graphics processor; and replace the first thread group on the first set of processing resources of with a second thread group after the execution state for the first set of processing resources is saved. 2 . The graphics processor of claim 1 , wherein the plurality of graphics cores is arranged in a plurality of slices, each slice has a plurality of subslices including a plurality of processing resources, each subslice is independently preemptable, and the first set of processing resources is associated with a first subslice. 3 . The graphics processor of claim 2 , wherein the circuitry is configured to replace the first thread group on the first subslice concurrently with execution of a third thread group via a second subslice. 4 . The graphics processor of claim 3 , wherein the circuitry is to trigger the execution of the kernel program to save the execution state for the first set of processing resources via an interrupt routine triggered for execution on each processing resource of the first subslice. 5 . The graphics processor of claim 4 , wherein the interrupt routine is to cause execution of the kernel program, the kernel program to save the execution state for the first set of processing resources to a thread state buffer within the memory of the graphics processor. 6 . The graphics processor of claim 5 , wherein each subslice is to be respectively associated with a separate thread state buffer. 7 . The graphics processor of claim 5 , wherein the execution state for the first set of processing resources includes an active thread state of the first subslice upon receipt of the command to perform the mid-thread preemption, the active thread state including general-purpose registers, architecture specific registers, shared local memory, and barrier state. 8 . The graphics processor of claim 1 , the circuitry configured to: receive a command to trigger a restore event for the first thread group; in response to the command to trigger the restore event, dispatch a third plurality of threads to a second set of processing resources of the graphics processor, the third plurality of threads to restore the execution state saved for the first set of processing resources to the second set of processing resources; and resume execution of the first thread group at the second set of processing resources via the third plurality of threads. 9 . The graphics processor of claim 8 , wherein the second set of processing resources differs from the first set of processing resources. 10 . The graphics processor of claim 9 , wherein the first set of processing resources are configured, via kernel program code, to construct a restore batch buffer to cause restoration of the execution state, the restore batch buffer to be executed in response to the command to trigger the restore event. 11 . A method for performing mid-thread preemption in a graphics processor configured to execute compute programs, the method comprising: dispatching a first plurality of threads to a first plurality of processing resources of the graphics processor on behalf of a first thread group to be executed by the first plurality of processing resources; receiving a command to perform mid-thread preemption of the first thread group; executing, on the first plurality of processing resources, a kernel program to save execution state for the first plurality of processing resources to memory of the graphics processor; and replacing the first thread group on the first plurality of processing resources with a second thread group after the execution state for the first plurality of processing resources is saved. 12 . The method of claim 11 , wherein the graphics processor includes a plurality of graphics cores is arranged in a plurality of slices, each slice having a plurality of subslices including a plurality of processing resources, each subslice is independently preemptable, and the first plurality of processing resources is associated with a first subslice. 13 . The method of claim 12 , further comprising replacing the first thread group on the first subslice concurrently with execution of a third thread group via a second subslice. 14 . The method of claim 11 , further comprising: receiving a command to restore the first thread group; dispatching a third plurality of threads to a second plurality of processing resources of the graphics processor; and restoring, via the third plurality of threads, the execution state saved for the first plurality of processing resources to the second plurality of processing resources. 15 . The method of claim 14 , wherein executing, on the first plurality of processing resources, the kernel program to save the execution state for the first plurality of processing resources includes interrupting program code associated with the first thread group and executing the kernel program at each of the first plurality of processing resources. 16 . The method of claim 15 , further building a restore command buffer via the kernel program in association with saving the execution state for the first plurality of processing resources, wherein executing the restore command buffer causes restoration of the execution state of the first thread group to the second plurality of processing resources. 17 . The method of claim 16 , further comprising resuming execution of the first thread group at the second plurality of processing resources, wherein the second plurality of processing resources differ from the first plurality of processing resources and has a different number of processing resources than the first plurality of processing resources. 18 . A graphics processing system comprising: a memory device; and a graphics processor comprising a memory interface coupled with the memory device, the graphics processor including a plurality of graphics cores coupled via a data interconnect, each graphics core of the plurality of graphics cores including a plurality of processing resources, and circuitry to manage execution of workloads by the plurality of graphics cores, the circuitry configured to: dispatch a first plurality of threads on behalf of a first thread group to be executed by a first set of processing resources of the plurality of processing resources; receive a command to perform mid-thread preemption of the first thread group; trigger, on the first set of processing resources, execution of a kernel program to save execution state for the first set of processing resources to memory of the graphics processor; and replace the first thread group on the first set of processing resources of with a second thread group after the execution state for the first set of processing resources is saved. 19 . The graphics processing system of claim 18 , wherein the plural

Assignees

Inventors

Classifications

  • Message passing systems or structures, e.g. queues · CPC title

  • Event management; Broadcasting; Multicasting; Notifications · CPC title

  • Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • Blending, e.g. for anti-aliasing · CPC title

  • Image-based rendering · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2025232511A1 cover?
Techniques are provided to enable mid-thread (instruction level) preemption in a graphics processor without requiring software intervention by a graphics driver associated with the graphics processor. Hardware based mid-thread preemption is facilitated using the thread dispatch hardware of the graphics processor to trigger execution of a kernel program by the graphics processor that saves the t…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06T1/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 17 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).