BVH Geometry Compression with Span Allocation for Ray Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional ray tracing techniques face performance overhead due to the need for multiple passes in compressing and rebuilding Bounding Volume Hierarchies (BVHs) for dynamic scenes, especially when using parallelized compression algorithms.

Innovation Solution

The approach involves dividing elements into spans, allocating memory ranges based on an assumed compression ratio, and adjusting span boundaries to ensure compliance with placement constraints, allowing for single-pass compression and storage of compressed data while minimizing memory gaps and padding blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional parallelized compression algorithms are used with multiple passes, then compression can be performed in parallel by worker threads, but compression time and processing overhead increase significantly

Engineering Contradiction:
Improvecompression throughputVSAvoidcompression time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-allocating memory ranges to each worker thread before compression begins. This allows worker threads to immediately write compressed data to their assigned memory ranges without waiting for other threads to complete, eliminating the need for multiple passes and reducing compression time while maintaining parallel processing capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the compression task by dividing the input data into spans and assigning each span to a specific worker thread with a dedicated memory range. This segmentation enables independent parallel compression of each span without requiring coordination between threads, thus improving productivity while avoiding the time overhead of conventional multi-pass approaches

Inventive Principle:
Principle #1Segmentation

2Reliability

If memory is allocated based on worst-case compression ratio, then all compressed data can be stored without overflow, but memory usage increases due to padding blocks and gaps

Engineering Contradiction:
Improvememory allocation safetyVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by allocating memory ranges to each worker thread based on local characteristics of the data span being compressed. Instead of uniformly allocating worst-case memory to all threads, each thread receives memory proportional to its actual compression needs, reducing overall memory usage while maintaining reliability through localized adaptive allocation

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the memory allocation parameter from a static worst-case ratio applied uniformly to all data to a dynamic allocation based on actual span characteristics and observed compression ratios. This allows memory usage to adapt to actual data properties, reducing padding and gaps while ensuring sufficient space is allocated for each compressed span

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If span boundaries are adjusted to ensure placement constraints compliance, then related elements remain together in compressed output, but compression complexity increases

Engineering Contradiction:
Improvedata structure integrityVSAvoidcompression algorithm complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-adjusting span boundaries before compression begins to ensure they align with placement constraints. By establishing correct spans upfront, the compression algorithm can directly process each span independently without requiring complex post-compression reorganization or coordination, thus maintaining data structure integrity while avoiding increased complexity

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11270495B2Scattered geometry compression for ray tracing acceleration structures
Publication Date: 2022.03.08 NVIDIA CORP
  • US11270495B2 patent drawing
  • US11270495B2 patent drawing
  • US11270495B2 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.