General transformations for GPU execution of tree traversals

Michael Goldfarb, Youngjoon Jo, Milind Kulkarni
2013 Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis on - SC '13  
With the advent of programmer-friendly GPU computing environments, there has been much interest in offloading workloads that can exploit the high degree of parallelism available on modern GPUs. Exploiting this parallelism and optimizing for the GPU memory hierarchy is well-understood for regular applications that operate on dense data structures such as arrays and matrices. However, there has been significantly less work in the area of irregular algorithms and even less so when pointer-based
more » ... amic data structures are involved. Recently, irregular algorithms such as Barnes-Hut and kd-tree traversals have been implemented on GPUs, yielding significant performance gains over CPU implementations. However, the implementations often rely on exploiting application-specific semantics to get acceptable performance. We argue that there are general-purpose techniques for implementing irregular algorithms on GPUs that exploit similarities in algorithmic structure rather than application-specific knowledge. We demonstrate these techniques on several tree traversal algorithms, achieving speedups of up to 38× over 32-thread CPU versions.
doi:10.1145/2503210.2503223 dblp:conf/sc/GoldfarbJK13 fatcat:gcoxb5djm5gsfpsuoqay6yosde