Parallel Processing System Postponing Primitive Intersection Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current parallel processing architectures, such as GPUs, face inefficiencies due to divergence among threads in warps during ray tracing operations, leading to wasted computational resources and reduced SIMD utilization, particularly in techniques like 'while-while' and 'if-if' methods.

Innovation Solution

The system postpones the execution of primitive intersection operations in a parallel processing architecture, allowing for asynchronous execution of node traversal and primitive intersection, optimizing thread utilization by determining which threads execute node traversal or primitive intersection based on demand and applying weighting schemes to minimize idle threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If node traversal is executed for all threads in a warp, then threads that have found primitives can remain idle, but computational throughput is reduced due to idle threads

Engineering Contradiction:
Improvecomputational throughputVSAvoididle thread utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent dynamically switches between node traversal and primitive intersection execution modes based on the state of threads in a warp. Threads can transition from traversal to intersection and back, allowing the system to adapt to changing workloads and minimize idle time while maintaining SIMD execution efficiency

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary classification of threads into traversal and intersection groups before execution. By determining which threads need traversal and which need intersection in advance, the system can organize execution to minimize idle threads and maximize computational throughput

Inventive Principle:
Principle #10Preliminary action

2Productivity

If primitive intersection is executed for all threads, then threads that have not found primitives yet must remain idle, but SIMD utilization is reduced

Engineering Contradiction:
ImproveSIMD utilizationVSAvoidthread idle time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic thread group management where the composition of traversal and intersection thread groups changes over time. Threads can move between groups as they complete traversal and need intersection, or vice versa, allowing the system to maintain high SIMD utilization while minimizing idle time

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs preliminary determination of which threads should execute primitive intersection versus node traversal before each execution phase. This advance classification allows the system to organize SIMD execution efficiently, ensuring that threads are engaged in appropriate operations without idle waiting

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If rays are assigned to independent threads, then each ray visits only intersected nodes, but execution type penalties occur due to synchronization requirements

Engineering Contradiction:
Improveray traversal independenceVSAvoidexecution coordination overhead
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent merges independent ray traversal operations into coordinated warp-level execution. By combining multiple independent ray threads into a unified warp execution model with shared state management, the system maintains ray independence benefits while reducing synchronization overhead through hardware-supported SIMD operations

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8059123B1Parallel processing system, method, and computer program product for postponing the execution of primitive intersection
Publication Date: 2011.11.15 NVIDIA CORP
  • US8059123B1 patent drawing
  • US8059123B1 patent drawing
  • US8059123B1 patent drawing

AI summary

A system, method, and computer program product are provided for postponing the execution of primitive intersection. In operation, at, least one node traversal operation and at least one primitive intersection operation is executed, utilizing a parallel processing architecture. Additionally, the execution of the at least one primitive intersection operation is postponed.