GPU Shader Ray Data Store Logic for Selective Transfers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing graphics processing units (GPUs) face inefficiencies in loading and storing ray tracing data due to the need to transfer large amounts of data between shader processing units and external storage, leading to inefficient use of interfaces and reduced performance.

Innovation Solution

Implementing shader processing units with load and store logic that allow for efficient retrieval and storage of ray data by identifying and grouping related data elements, enabling the use of single instructions to transfer multiple related data elements, thereby optimizing data transfer between the shader processing units and external storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If ray data is transferred between shader processing units and external storage, then data availability is improved, but data transfer efficiency deteriorates due to large data volumes and inefficient interface usage

Engineering Contradiction:
Improvedata availabilityVSAvoiddata transfer efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments ray data into structured groups (e.g., by ray index or data type) and organizes them in hierarchical storage structures. This segmentation enables selective transfer of specific data groups rather than entire datasets, reducing transfer volume while maintaining reliable access to required ray data elements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-organizing ray data in external storage with metadata indices and grouping related data elements together. This preparation allows the shader processing units to quickly identify and request only the necessary data groups, reducing transfer time and improving efficiency without compromising data availability.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If multiple ray data elements are transferred individually, then data precision is maintained, but interface usage efficiency deteriorates due to excessive transfer operations

Engineering Contradiction:
Improvedata precisionVSAvoidinterface usage efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent merges multiple related ray data elements into unified data groups or bundles that can be transferred together in single operations. By combining data elements that are frequently accessed together (such as spatial coordinates, intersection data, or acceleration structure information), the system maintains data precision while reducing the number of separate transfer operations and improving interface usage efficiency.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If ray data is dynamically loaded and stored during processing, then data accessibility is improved, but processing time increases due to frequent data transfers

Engineering Contradiction:
Improvedata accessibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system introduces an intermediary layer in the form of a memory hierarchy or buffer structure between the shader processing units and external storage. This intermediary cache or buffer stores frequently accessed ray data groups, enabling fast access during processing while maintaining the ability to dynamically load additional data from external storage when needed, thus reducing overall processing time while preserving data accessibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20250225711A1Methods and Hardware Logic for Writing Ray Tracing Data From a Shader Processing Unit of a Graphics Processing Unit
Publication Date: 2025.07.10 IMAGINATION TECH LTD
  • US20250225711A1 patent drawing
  • US20250225711A1 patent drawing
  • US20250225711A1 patent drawing

AI summary

Shader processing units for a graphics processing unit execute ray tracing shaders that generate ray data associated with rays. The ray data includes a plurality of ray data elements. Store logic receives, as part of a ray tracing shader, a ray store instruction that includes: (i) information identifying a store group of a plurality of store groups, each store group comprising one or more ray data elements of the plurality of ray data elements, and (ii) information identifying one or more ray data elements of the identified store group to be stored in an external unit. In response to receiving the ray store instruction, the store logic retrieves the identified ray data elements for one or more rays from the storage. The store logic then sends one or more store requests to an external unit which cause the external unit to store the identified ray data elements for the one or more rays.