Graphics processing units (GPUs) have rapidly emerged as a very significant player in high performance computing. Single instruction multiple thread (SIMT) pipelines are typically used in GPUs to exploit parallelism and maximize performance. Although support for unstructured control flow has been included in GPUs, efficiently managing thread divergence for arbitrary parallel programs remains a critical challenge. In this paper, we focus on the problem of supporting recursion in modern GPUs. We design and comparatively evaluate various algorithms to manage thread divergence encountered in recursive programs. The results improve upon traditional post-dominator based reconvergence mechanisms designed to handle thread divergence due to control flow within a procedure.
Revised: February 4, 2016 |
Published: June 10, 2013
Citation
Huo X., S. Krishnamoorthy, and G. Agrawal. 2013.Efficient Scheduling of Recursive Control Flow on GPUs. In Proceedings of the 27th international ACM Conference on International Conference on Supercomputing (ICS '13), June 10-14, 2013, Eugene, Oregon, 409-420. New York, New York:Association for Computing Machinery (ACM).PNNL-SA-95026.doi:10.1145/2464996.2479870