BVH Compression and Decompression Circuitry for Ray Tracing Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ray tracing in graphics rendering is computationally complex and resource-intensive, limiting real-time solutions due to the complexity of determining intersections between rays and scene geometry.

Innovation Solution

The implementation of a graphics processor architecture that includes multi-level indirect prefetching of vertex data, a SELECT MIN instruction for BVH traversal operations, and a prefetch range instruction to optimize memory access and reduce processing resources required for ray tracing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional ray tracing methods are used to determine intersections between rays and scene geometry, then rendering accuracy is improved, but computational complexity and resource consumption increase significantly

Engineering Contradiction:
Improverendering accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the scene geometry into bounding volume hierarchy (BVH) structures, organizing geometric primitives into hierarchical groups with bounding volumes. This segmentation allows the ray tracing system to first test rays against coarse bounding volumes and only proceed to detailed intersection tests when necessary, reducing the overall computational complexity while maintaining rendering accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action through multi-level indirect prefetching of vertex data and pre-computation of bounding volume hierarchies. By prefetching vertex data before it is needed and pre-organizing geometry into BVH structures, the system reduces memory access latency and prepares data structures in advance, thereby reducing computational complexity during actual ray tracing operations.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If traditional memory access methods are used for vertex data, then data access flexibility is maintained, but memory transaction overhead and processing time increase

Engineering Contradiction:
Improvedata access flexibilityVSAvoidmemory access time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements multi-level indirect prefetching that predicts and loads vertex data into cache memory before it is actually needed by the ray tracing algorithm. By performing preliminary data loading based on predicted access patterns, the system reduces memory access time while maintaining the flexibility to access vertex data as needed during rendering.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces cache memory as an intermediary between main memory and the ray tracing processing units. This intermediary layer stores frequently accessed vertex data and bounding volume information, reducing the time for memory transactions while maintaining data access flexibility through cache coherence protocols and intelligent replacement policies.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If comprehensive intersection testing is performed against all geometry, then rendering accuracy is improved, but processing resources and energy consumption increase

Engineering Contradiction:
Improveintersection testing accuracyVSAvoidprocessing energy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments the comprehensive intersection testing process into hierarchical levels using bounding volume hierarchies. Instead of testing rays against all geometric primitives directly, the system first tests against parent bounding volumes and only proceeds to child primitives when intersections are possible, significantly reducing the number of actual intersection tests required while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing intersection tests only on the necessary subset of geometry rather than all geometry in the scene. Through BVH culling and early rejection techniques, the system performs exactly the right amount of intersection testing needed for accurate rendering without the excessive computational overhead of testing all possible ray-primitive pairs.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11367243B2Ray tracing apparatus and method for memory access and register operations
Publication Date: 2022.06.21 INTEL CORP
  • US11367243B2 patent drawing
  • US11367243B2 patent drawing
  • US11367243B2 patent drawing

AI summary

An apparatus and method for performing BVH compression and decompression concurrently with stores and loads, respectively. For example, one embodiment comprises: bounding volume hierarchy (BVH) construction circuitry to build a BVH based on a set of input primitives, the BVH comprising a plurality of uncompressed coordinates; traversal/intersection circuitry to traverse one or more rays through the BVH and determine intersections with the set of input primitives using the uncompressed coordinates; store with compression circuitry to compress the BVH including the plurality of uncompressed coordinates to generate a compressed BVH with compressed coordinates and to store the compressed BVH to a memory subsystem; and load with decompression circuitry to decompress the BVH including the compressed coordinates to generate a decompressed BVH with the uncompressed coordinates and to load the decompressed BVH with uncompressed coordinates to a cache and/or a set of registers accessible by the traversal/intersection circuitry.