kD-Tree Traversal Implementations for Ray Tracing on Massive Multiprocessors: A Comparative Study - Santos, Artur L. dos; Teixeira, Joao Marcelo X. N.; Farias, Thiago S. M. C. de; Teichrieb, Veronica; Kelner, Judith (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), 2009)
Current GPU computational power enables the execution of complex and parallel algorithms, such as Ray Tracing techniques supported by kD-trees for 3D scene rendering in real time. This work describes in detail the study and implementation of five different kD-Tree traversal algorithms using the parallel framework NVIDIA Compute Unified Device Architecture (CUDA), in order to point their pros and cons regarding adaptation capability to the chosen architecture. In addition, a new algorithm is proposed by the authors based on this analysis, aiming performance improvement. A performance analysis of the implemented techniques demonstrates that two of these algorithms, once adequately adapted to CUDA architecture, are capable of reaching speedup gains up to 15x when compared to former CPU implementations and up to 4x in comparison to existing and optimized parallel ones. As a consequence, interactive frame rates are possible for scenes with 1376x768 pixels of resolution and 1 million primitives.