A Study of Persistent Threads Style GPU Programming for GPGPU Workloads
Kshitij Gupta - University of California, Davis Jeff Stuart - University of California, Davis John Owens - University of California, Davis Abstract: In this paper, we characterize and analyze the style of programming for the GPU called Persistent Threads (PT). We discuss the dierence between the traditional GPU programming style and PT, why PT is attractive for some high-performance usage scenarios, and when using PT is and is not appropriate. We identify four primary use cases|CPU-GPU synchronization, load balancing/irregular parallelism, producer-consumer locality, and global synchronization--where PT approaches can achieve up to an order-of-magnitude speedup over a traditional kernel or sequence of kernels. We conclude by discussing the hardware and software fundamentals that will influence the development of Persistent Threads as a programming style in future systems.