High performance constant cache and constant access mechanisms

US12333306B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12333306-B2
Application numberUS-202117213874-A
CountryUS
Kind codeB2
Filing dateMar 26, 2021
Priority dateMar 26, 2021
Publication dateJun 17, 2025
Grant dateJun 17, 2025

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.

A graphics processing apparatus includes a graphics processor and a constant cache. The graphics processor has a number of execution instances that will generate requests for constant data from the constant cache. The constant cache stores constants of multiple constant types. The constant cache has a single level of hierarchy to store the constant data. The constant cache has a banking structure based on the number of execution instances, where the execution instances generate requests for the constant data with unified messaging that is the same for the different types of constant data.

First claim

Opening claim text (preview).

What is claimed is: 1. A graphics processing apparatus comprising: a graphics processor including a number of execution instances to generate requests for constant data; and a constant cache to store multiple constant types including bindless, stateless constants not bound to a specific storage location and not having a specific state defined, wherein the constant cache has a single level of hierarchy to store the constant data, wherein the constant cache has a banking structure based on the number of execution instances, and wherein the execution instances are to generate requests for the constant data with unified messaging having a single type of data referencing for the multiple constant types. 2. The graphics processing apparatus of claim 1 , wherein the constant cache comprises a cache device off the graphics processor and shared among the execution instances. 3. The graphics processing apparatus of claim 1 , wherein the number of execution instances comprises a number of hardware execution units, and where the constant cache has a banking structure based on the number of hardware execution units. 4. The graphics processing apparatus of claim 1 , wherein the number of execution instances comprises a number of threads executed by a graphics program, and wherein the constant cache has a banking structure based on the number of threads. 5. The graphics processing apparatus of claim 1 , further comprising: a cacheability manager, at compile-time of a graphics application, to identify constants to store in the constant cache and identify constants to not store in the constant cache. 6. The graphics processing apparatus of claim 5 , wherein the graphics application comprises a shader application. 7. The graphics processing apparatus of claim 5 , wherein the cacheability manager is to iteratively cause compilation of the graphics application with selected constants to store in the constant cache and selected constants to not store in the constant cache, determine a performance of the graphics application, and change which constants are selected to store in the constant cache and which constants are selected to not store in the constant cache based on improved performance of the graphics application. 8. A computer system comprising: a graphics processing unit including a graphics processor having a number of execution instances to generate requests for constant data; and a constant cache to store multiple constant types including bindless, stateless constants not bound to a specific storage location and not having a specific state defined, wherein the constant cache has a single level of hierarchy to store the constant data, wherein the constant cache has a banking structure based on the number of execution instances, and wherein the execution instances are to generate requests for the constant data with unified messaging having a single type of data referencing for the multiple constant types; and a central processing unit to execute a graphics driver including a compiler to compile a graphics application for execution on the graphics processing unit. 9. The computer system of claim 8 , wherein the constant cache comprises a cache device off the graphics processor and shared among the execution instances. 10. The computer system of claim 8 , wherein the number of execution instances comprises a number of hardware execution units, and where the constant cache has a banking structure based on the number of hardware execution units. 11. The computer system of claim 8 , wherein the number of execution instances comprises a number of threads executed by a graphics program, and wherein the constant cache has a banking structure based on the number of threads. 12. The computer system of claim 8 , wherein the central processing unit is to execute a cacheability manager which, at compile-time of a graphics application, is to identify constants to store in the constant cache and identify constants to not store in the constant cache. 13. The computer system of claim 12 , wherein the graphics application comprises a shader application. 14. The computer system of claim 12 , wherein the cacheability manager is to iteratively cause compilation of the graphics application with selected constants to store in the constant cache and selected constants to not store in the constant cache, determine a performance of the graphics application, and change which constants are selected to store in the constant cache and which constants are selected to not store in the constant cache based on improved performance of the graphics application.

Assignees

Inventors

Classifications

  • G06F9/3851Primary

    from multiple instruction streams, e.g. multistreaming · CPC title

  • controlled by a single instruction for multiple threads [SIMT] in parallel · CPC title

  • Thread control instructions · CPC title

  • Implementation provisions of instruction buffers, e.g. prefetch buffer; banks · CPC title

  • with software control, e.g. non-cacheable data · 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 US12333306B2 cover?
A graphics processing apparatus includes a graphics processor and a constant cache. The graphics processor has a number of execution instances that will generate requests for constant data from the constant cache. The constant cache stores constants of multiple constant types. The constant cache has a single level of hierarchy to store the constant data. The constant cache has a banking structu…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F9/3851. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 17 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).