Dynamic Memory-Backed Traversal Stack for Ray Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ray tracing systems face challenges in achieving efficient memory management and balancing computational resources during parallel BVH traversal, leading to performance degradation and skewing of quality of service for rays.

Innovation Solution

The implementation of dynamic memory stacks with linked memory blocks allows for efficient allocation and deallocation of memory during ray tracing, enabling parallel BVH traversal by dynamically assigning and linking memory blocks to manage ray data storage and retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If per-ray storage is increased to allow parallel BVH traversal, then traversal efficiency is improved, but storage overhead and silicon area increase significantly

Engineering Contradiction:
Improvetraversal efficiencyVSAvoidstorage overhead
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The per-ray storage is segmented into fixed on-chip buffers and dynamic off-chip memory regions. Each ray maintains a small fixed-size buffer on-chip for immediate access, while additional storage needs are satisfied through dynamic allocation in off-chip memory, reducing the silicon area requirement while maintaining parallel traversal capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system transitions from static per-ray storage allocation to dynamic memory allocation. Memory is allocated and deallocated based on actual traversal needs during runtime, allowing efficient utilization of storage resources without pre-allocating excessive silicon area for all possible ray requirements.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If memory is allocated dynamically during workload, then resource balancing between rays is improved, but system complexity increases

Engineering Contradiction:
Improveresource balancingVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A memory management unit (MMU) acts as an intermediary between rays and memory resources. The MMU handles dynamic allocation, deallocation, and address translation, abstracting the complexity of resource management from individual ray processing while enabling flexible resource balancing across the workload.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory management unit serves multiple functions: allocating memory to rays, deallocating finished memory, translating virtual addresses to physical addresses, and managing memory pools. This multi-functional approach consolidates complexity into a single manageable component rather than distributing it across multiple specialized units.

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

3Speed

If fixed on-chip buffers are used for ray storage, then access speed is improved, but memory capacity is limited

Engineering Contradiction:
Improveaccess speedVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

Memory storage is segmented into two tiers: fast on-chip buffers for frequently accessed ray data and larger off-chip memory for extended capacity. This hierarchical structure maintains high access speed for critical operations while providing sufficient capacity for complex workloads through the off-chip memory layer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically determines which ray data resides in on-chip buffers versus off-chip memory based on access patterns and memory availability. Frequently accessed or active ray data is kept in fast on-chip storage, while less frequently accessed data is stored in off-chip memory, optimizing the balance between speed and capacity adaptively.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250173812A1Dynamically Allocated Memory-Backed Traversal Stack for Ray Tracing Hardware
Publication Date: 2025.05.29 ATI TECHNOLOGIES ULC
  • US20250173812A1 patent drawing
  • US20250173812A1 patent drawing
  • US20250173812A1 patent drawing

AI summary

Systems and methods for efficient memory management during ray tracing are described. A ray tracing system assigns a memory stack to a ray. The ray, when intersection tested against objects of a node, accesses data that is stored in the memory stack. When data is to be consumed from the memory stack by the ray, the ray tracing system uses a memory pointer associated with the ray to locate the requested data. When data is to be stored to the memory stack, the memory allocation circuitry stores data in a free memory block and uses a linked list to link the memory block with other memory blocks storing additional data for the ray.