Heterogeneous BVH Generation Using CPU and GPU
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If CPU and GPU both process BVH construction independently, then compute capabilities are utilized, but communication overhead increases
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.
3Productivity
If simple bounding box trees are built quickly, then generation speed is high, but ray tracing performance is reduced
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.
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.
Data Source
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.


