Dynamic Ray Tracing Stack Allocation for Graphics Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in performing ray tracing due to high processing intensity and storage requirements, particularly in managing test record entries for tracing rays in complex scenes.

Innovation Solution

A graphics processor with a ray tracing circuit that uses a ray tracing acceleration data structure, such as a bounding volume hierarchy (BVH), to efficiently trace rays by dynamically allocating storage space for test record entries, allowing for a smaller initial stack depth and additional shared storage for increased depth as needed, reducing the risk of stack overflow and overall storage requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a fixed large stack depth is allocated for ray tracing, then the risk of stack overflow is reduced, but storage requirements and device complexity increase

Engineering Contradiction:
Improvestack overflow riskVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic stack depth allocation where the stack depth is adjusted based on the actual requirements of each ray tracing operation. The system allocates a smaller initial stack depth and dynamically expands it only when needed during ray tracing, allowing the stack depth to vary from one operation to another based on scene complexity and ray paths.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The storage for test record entries is segmented into multiple regions: a small initial stack region for typical operations and an additional shared storage region for extended depth when needed. This segmentation allows the system to use minimal storage for most cases while having access to extra storage only when required, reducing overall storage requirements compared to a fixed large allocation.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If a smaller initial stack depth is used, then storage requirements are reduced, but the risk of stack overflow increases

Engineering Contradiction:
Improvestorage requirementsVSAvoidstack overflow risk
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system dynamically adjusts stack depth based on actual ray tracing needs. When the initial stack depth is insufficient during a particular ray tracing operation, the system can expand the stack by allocating additional storage from the shared region, thereby preventing stack overflow without requiring a permanently large stack allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent provides a shared additional storage region that acts as a cushion or buffer for when the initial stack depth is exceeded. This pre-provided additional storage capacity ensures that even though the initial stack is small, the system has prepared backup storage space to prevent stack overflow if needed.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Adaptability or versatility

If additional shared storage is allocated for ray tracing, then the depth capability is increased, but device complexity increases

Engineering Contradiction:
Improvestack depth capabilityVSAvoidstorage management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The additional shared storage region serves multiple purposes: it provides extended stack depth when needed, acts as a buffer for dynamic allocation, and can be reused across different ray tracing operations. This multi-functional design increases adaptability while avoiding the need for separate complex management structures for each storage function.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20240371070A1Graphics processing
Publication Date: 2024.11.07 ARM LTD
  • US20240371070A1 patent drawing
  • US20240371070A1 patent drawing
  • US20240371070A1 patent drawing

AI summary

A graphics processor that is operable to perform ray tracing is disclosed. When it is determined that a ray tracing circuit of the graphics processor may require additional storage space to store test record entries to trace a ray, additional storage space is allocated for the ray tracing circuit to use to store test record entries to trace the ray.