Ray Tracing Engine with Material-Based Core Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ray tracing operations in computer graphics cannot be efficiently executed in parallel due to the need for different material shader programs for each ray, limiting the ability to leverage the highly parallel architecture of GPUs for accelerated processing.

Innovation Solution

A rendering engine with multiple MIMD processing cores is introduced, allowing each core to asynchronously process different rays or serial processing tasks, and a scheduler optimizes task distribution across specialized pipelines to enhance processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If ray tracing operations are executed using conventional GPU parallel architecture with SIMD/SIMT execution models, then processing throughput is limited, but if rays are sorted by material type to enable parallel processing, then processing efficiency improves

Engineering Contradiction:
Improveprocessing throughputVSAvoidray sorting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the ray tracing processing into distinct material type groups, where rays are sorted and assigned to different processing pipelines based on their material properties. This segmentation enables parallel processing of rays with the same material type using SIMD/SIMT execution models, resolving the contradiction between maintaining parallel processing efficiency and handling material-specific computational variations.

Inventive Principle:
Principle #1Segmentation

2Productivity

If more transistors are added to increase processing capacity for ray tracing, then processing performance improves, but die size increases or transistor density must increase

Engineering Contradiction:
Improveray tracing processing performanceVSAvoidprocessor die size
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The patent implements a dynamic processing architecture where processing cores can be dynamically assigned to different material types based on workload demands. The system includes a material type sorter that dynamically routes rays to appropriate processing pipelines, and processing cores that can switch between handling different material shading operations. This dynamic allocation allows the existing hardware to adapt to varying ray tracing workloads without requiring additional transistors or increased die size.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12159344B2Accelerated processing via a physically based rendering engine
Publication Date: 2024.12.03 NVIDIA CORP
  • US12159344B2 patent drawing
  • US12159344B2 patent drawing
  • US12159344B2 patent drawing

AI summary

One embodiment of a computer-implemented method for processing ray tracing operations in parallel includes receiving a plurality of rays and a corresponding set of importance sampling instructions for each ray included in the plurality of rays for processing, wherein each ray represents a path from a light source to at least one point within a three-dimensional (3D) environment, and each corresponding set of importance sampling instruction is based at least in part on one or more material properties associated with at least one surface of at least one object included in the 3D environment; assigning each ray included in the plurality of rays to a different processing core included in a plurality of processing cores; and for each ray included in the plurality of rays, causing the processing core assigned to the ray to execute the corresponding set of importance sampling instructions on the ray to generate a direction for a secondary ray that is produced when the ray intersects a surface of an object within the 3D environment.