Dynamic Thread Reallocation for GPU Ray Tracing Divergence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficient utilization of graphical processing unit (GPU) capabilities in ray-tracing applications due to early miss divergence, where threads allocated to rays that do not reach the termination point become inactive, leading to wasted processing capacity and reduced overall performance.

Innovation Solution

A method for parallel processing in multiple thread computing systems that involves executing an instruction sequence until an exit point, terminating it at a convergence point, and selectively reallocating the thread to process a second task, with the option to redefine the convergence point and include prologues and epilogues to optimize task handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If threads are allocated to process rays in ray-tracing applications, then parallel processing capability is utilized, but threads become inactive when rays miss early (early miss divergence), leading to wasted processing capacity

Engineering Contradiction:
ImproveGPU processing capability utilizationVSAvoidwasted processing capacity
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements dynamic thread reallocation where threads that finish processing a ray early (due to early misses) are automatically reassigned to process other rays. This dynamic adjustment of thread tasks maintains high GPU utilization by ensuring all threads remain actively processing rays throughout execution, eliminating the static allocation problem where threads sit idle waiting for other rays to complete.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system enables self-service through automatic thread reallocation mechanisms. When a thread completes its assigned ray processing early, the system automatically redistributes available ray processing tasks to idle threads without external intervention. This self-adjusting mechanism ensures continuous high utilization of processing capabilities without requiring manual task management.

Inventive Principle:
Principle #25Self-service

2Stability of the object's composition

If threads follow lock-step execution mode to maintain synchronicity, then parallelism is preserved, but processing efficiency is reduced when some threads take different paths (e.g., IF-THEN-ELSE divergence)

Engineering Contradiction:
Improvethread synchronicityVSAvoidprocessing efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent introduces dynamic thread reallocation that operates within the lock-step execution model. Threads maintain synchronicity through lock-step execution but dynamically adjust their assigned tasks based on completion status. This allows the system to preserve the stability of lock-step execution while improving productivity by ensuring all threads remain productive even when taking different execution paths.

Inventive Principle:
Principle #15Dynamics

3Productivity

If all threads process all rays to maintain uniform workload, then thread utilization is maximized, but execution time increases when some rays require more processing than others

Engineering Contradiction:
Improvethread utilizationVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements dynamic reallocation of threads to rays based on processing progress. Threads that complete their assigned rays early are automatically reassigned to other unprocessed rays. This dynamic adjustment ensures high thread utilization while reducing overall execution time by preventing idle waiting and optimizing the distribution of processing workload throughout execution.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11625250B2Method and system for parallel processing of tasks in multiple thread computing
Publication Date: 2023.04.11 HUAWEI TECH CO LTD
  • US11625250B2 patent drawing
  • US11625250B2 patent drawing
  • US11625250B2 patent drawing

AI summary

The disclosed systems, structures, and methods are directed to parallel processing of tasks in a multiple thread computing system. Execution of an instruction sequence of a thread allocated to a first task proceeds until an exit point of the instruction sequence is reached. The execution of the instruction sequence of the thread for the first task is terminated at a convergence point of the instruction sequence. The thread is selectively reallocated to process a second task.