Scattered Geometry Compression for Parallel BVH Rebuilds

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional ray tracing techniques face significant overhead in compression and rebuilding of Bounding Volume Hierarchies (BVHs) for dynamic scenes, particularly in scenarios where compressed BVHs need to be rebuilt or refit for every frame, leading to performance bottlenecks.

Innovation Solution

The approach involves scattered geometry compression, where elements are compressed and stored in memory in a single pass by independent worker threads, respecting placement constraints and adjusting span lengths to avoid padding and memory gaps, allowing for efficient allocation and compaction of compressed data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If conventional compression algorithms are used with multiple passes to compress geometric elements, then compression completeness is improved, but compression time and processing overhead increase significantly

Engineering Contradiction:
Improvecompression completenessVSAvoidcompression time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent divides the list of geometric elements into multiple spans, where each span is processed independently by a worker thread. This segmentation allows parallel compression without requiring multiple passes, as each thread can compress its assigned span directly to its allocated memory range simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary allocation of memory ranges to each span based on an assumed compression ratio before compression begins. This preliminary action enables worker threads to write compressed data directly to predetermined locations without requiring subsequent repacking or reorganization passes.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple worker threads are used to compress different groups of geometric elements in parallel, then compression speed is improved, but memory placement constraints and data structure integrity become difficult to maintain

Engineering Contradiction:
Improvecompression speedVSAvoidmemory placement accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent segments the geometric elements into spans with clear boundaries, assigning each span to a specific worker thread. This segmentation ensures that each thread operates independently on its assigned portion while maintaining overall data structure integrity through defined span boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent allocates specific memory ranges to each span based on local characteristics such as assumed compression ratios. This local quality approach allows each worker thread to optimize its compression for its specific span while respecting global memory constraints and placement requirements.

Inventive Principle:
Principle #3Local quality

3Reliability

If memory is allocated based on worst-case compression ratios to ensure sufficient space, then memory allocation reliability is improved, but memory utilization efficiency decreases due to padding and gaps

Engineering Contradiction:
Improvememory allocation reliabilityVSAvoidmemory utilization efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent performs preliminary memory allocation based on assumed compression ratios before compression begins. This allows the system to reserve sufficient space reliably while avoiding excessive padding by using reasonable compression ratio estimates rather than worst-case scenarios.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent adjusts the compression ratio parameter used for memory allocation based on empirical data and scene characteristics. By changing this parameter from a conservative worst-case value to a more accurate estimated value, the system achieves both reliable allocation and improved memory utilization efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11823320B2Scattered geometry compression for ray tracing acceleration structures
Publication Date: 2023.11.21 NVIDIA CORP
  • US11823320B2 patent drawing
  • US11823320B2 patent drawing
  • US11823320B2 patent drawing

AI summary

In examples, a list of elements may be divided into spans and each span may be allocated a respective memory range for output based on a worst-case compression ratio of a compression algorithm that will be used to compress the span. Worker threads may output compressed versions of the spans to the memory ranges. To ensure placement constraints of a data structure will be satisfied, boundaries of the spans may be adjusted prior to compression. The size allocated to a span (e.g., each span) may be increased (or decreasing) to avoid padding blocks while allowing for the span's compressed data to use a block allocated to an adjacent span. Further aspects of the disclosure provide for compaction of the portions of compressed data in memory in order to free up space which may have been allocated to account for the memory gaps which may result from variable compression ratios.