Heterogeneous BVH Generation Using CPU and GPU

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for building bounding volume hierarchies (BVHs) in computer graphics are inefficient, particularly for animated scenes, as they require frequent rebuilding and do not effectively utilize the combined compute capabilities of CPU and GPU cores, leading to suboptimal performance in ray tracing.

Innovation Solution

A parallel algorithm that splits triangles into groups, computes bounding boxes, and builds sweep-surface-area heuristic (SAH) trees on both CPU and GPU, with the CPU building a top-down SAH-optimized tree using GPU-generated bounding boxes, minimizing communication overhead and optimizing tree construction for fast ray tracing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire BVH is rebuilt every frame for animated scenes, then the BVH remains up-to-date with current geometry, but the generation time becomes excessive and performance is reduced

Engineering Contradiction:
ImproveBVH up-to-date-nessVSAvoidBVH generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the BVH construction into two independent phases: a CPU phase that builds a coarse hierarchical structure using bounding boxes, and a GPU phase that refines this structure by processing individual primitives and building optimized mini-trees. This segmentation allows each processor to work on different portions of the task simultaneously, reducing total generation time while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The CPU performs preliminary actions by first constructing a coarse BVH structure and computing bounding boxes for all primitives before the GPU refines the structure. This preliminary structure provides a good initial organization that guides the subsequent GPU processing, reducing the overall time needed compared to building the complete optimized structure from scratch.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If CPU and GPU both process BVH construction independently, then compute capabilities are utilized, but communication overhead increases

Engineering Contradiction:
Improvecompute utilizationVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent introduces bounding boxes as an intermediary data structure that the CPU generates and passes to the GPU. These bounding boxes serve as a compact summary of the scene geometry that enables the GPU to efficiently construct refined mini-trees without requiring constant communication between CPU and GPU, thus reducing communication overhead while maintaining high compute utilization.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If simple bounding box trees are built quickly, then generation speed is high, but ray tracing performance is reduced

Engineering Contradiction:
ImproveBVH generation speedVSAvoidray tracing speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent applies different quality levels to different parts of the BVH structure. The CPU builds a coarse structure that is sufficient for quick generation, while the GPU applies local refinement to create optimized mini-trees for specific regions. This local quality enhancement ensures that critical areas receive detailed optimization for fast ray tracing while maintaining overall generation speed.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent creates a dynamic two-stage construction process where the BVH structure is first built at a coarse level and then dynamically refined at the GPU level. This dynamic approach allows the system to achieve both fast generation (through the coarse initial build) and fast ray tracing (through the optimized refined structure) without compromising either objective.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9990758B2Bounding volume hierarchy generation using a heterogeneous architecture
Publication Date: 2018.06.05 INTEL CORP
  • US9990758B2 patent drawing
  • US9990758B2 patent drawing
  • US9990758B2 patent drawing

AI summary

A system rapidly builds bounding volume hierarchies for ray tracing using both the CPU cores and an integrated graphics processor. The hierarchy is built directly into shared memory (between the CPU and GPU). The method starts by sorting the triangles along a space-filling curve, and then quickly sets up a number of mini-trees with a small number of triangles in them, which includes computing the bounding boxes of the mini-trees. This makes it possible to build the mini-trees using a surface-area heuristic in parallel on the graphics processor, while at the same time, the trees above the mini-trees are built in a top-down fashion using the CPU cores.