🤖 AI Summary
This study investigates the key performance bottlenecks limiting real-time GPU path tracing efficiency by comparing forward path tracing (PT) and wavefront path tracing (WPT). The former employs a megakernel design where a single thread processes an entire path, while the latter decomposes the algorithm into multiple specialized kernel stages that collaboratively maintain state buffers. Both approaches are implemented using NVIDIA RT Cores, and their performance is analyzed with Nsight Graphics. Experimental results demonstrate that WPT achieves approximately 16% higher performance than PT due to improved cache locality. Furthermore, profiling reveals that GPU compute units remain underutilized, indicating that memory latency and synchronization overhead constitute the primary bottlenecks in current real-time path tracing workloads.
📝 Abstract
Over the last decade, advances in GPU hardware have been driven in large part by the demands of real-time graphics, culminating in dedicated hardware ray tracing cores (RT cores). These units accelerate ray scene intersection queries directly in hardware, making physically based ray tracing algorithms increasingly practical for interactive applications. This paper compares and analyzes the performance of two ray-based rendering algorithms: forward path tracing (PT) and wavefront path tracing (WPT). GPU-based PT computes the color of each pixel by having each thread trace a single path to completion, naturally leading to a megakernel approach - while WPT maintains state buffers between specialized kernel invocations to trace path stages simultaneously. We find that WPT affords a ~16% speedup over PT in our implementation. By analyzing traces from NVIDIA Nsight Graphics, we attributed this speedup to WPT's improved cache locality compared to PT. We also find that our implementation does not achieve maximum GPU throughput across any of its units, suggesting that communication and memory latency, as well as synchronization, are the limiting factors. Finally, we address potential algorithmic improvements and future work for real-time path tracing implementation for practical applications.