Real-time GPU kd-tree Construction via Parallel Node Splitting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time construction of kd-trees on the GPU has been an unsolved problem in graphics applications, with existing CPU-based algorithms being inefficient for real-time performance.

Innovation Solution

A GPU-based parallel processing method for building kd-trees in breadth-first search order, differentiating between large and small nodes, where large nodes are split using spatial median and empty space maximizing heuristics, and small nodes are split using surface area heuristic or voxel volume heuristic, with triangle sets represented as bitmasks for efficient computation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If CPU-based algorithms are used for kd-tree construction, then manufacturing precision is maintained, but productivity is insufficient for real-time performance

Engineering Contradiction:
Improvekd-tree construction speedVSAvoidkd-tree construction quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent segments the kd-tree construction process into distinct phases: node creation, triangle assignment, and tree traversal. Each phase is optimized independently for the GPU architecture, allowing parallel processing while maintaining construction quality. The segmentation enables different optimization strategies for different parts of the construction pipeline.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the traditional CPU-based sequential construction mechanism with a GPU-based parallel processing mechanism. This substitution leverages the massive parallelism of graphics hardware to achieve real-time construction speeds while maintaining acceptable tree quality through optimized parallel algorithms.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If traditional parallel algorithms are used, then productivity is improved, but device complexity increases due to synchronization requirements

Engineering Contradiction:
Improveparallel processing speedVSAvoidsynchronization overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-sorting triangles and pre-computing node properties before the main construction phase. This preliminary organization of data reduces the need for complex synchronization during parallel execution, as threads work with pre-processed information that requires minimal coordination.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic adaptation in the parallel construction process, where the algorithm adjusts its behavior based on the current state of tree construction. This includes dynamic thread assignment and adaptive processing strategies that reduce synchronization overhead by allowing threads to operate independently when possible.

Inventive Principle:
Principle #15Dynamics

3Productivity

If breadth-first search order is used for node building, then productivity is improved through better parallelization, but device complexity increases due to memory management requirements

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments memory management into distinct regions for different construction phases, with separate buffers for node data, triangle data, and intermediate results. This segmentation simplifies memory management in the breadth-first approach by providing clear memory boundaries that reduce synchronization complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary data structures and buffer regions that mediate between different parallel processing stages. These intermediaries handle the complexity of memory management by providing standardized interfaces for data transfer and synchronization, reducing the burden on the main construction algorithm.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8581914B2Real-time kd-tree construction on graphics hardware
Publication Date: 2013.11.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8581914B2 patent drawing
  • US8581914B2 patent drawing
  • US8581914B2 patent drawing

AI summary

Described is a technology for constructing kd-trees on GPUs, in a manner that is sufficiently fast to achieve real-time performance by exploiting GPU-based parallelism during the kd-tree construction. Tree nodes are built in breadth-first search order, e.g., to use a thread for each node at each level. For large nodes at upper tree levels, computations are parallelized over geometric primitives (instead of nodes). To this end, large nodes are split into child nodes by cutting off empty space based until an empty space ratio is achieved, and thereafter performing spatial splitting. Small nodes are split based on split candidate costs, e.g., computed by a surface area heuristic or a voxel volume heuristic (VVH).