ePrints@IIScePrints@IISc Home | About | Browse | Latest Additions | Advanced Search | Contact | Help

Taming Control Divergence in GPUs through Control Flow Linearization

Anantpur, Jayvant and Govindarajan, R (2015) Taming Control Divergence in GPUs through Control Flow Linearization. In: 23rd International Conference on Compiler Construction (CC), APR 05-13, 2014, Grenoble, FRANCE, pp. 133-153.

Full text not available from this repository. (Request a copy)
Official URL: http://link.springer.com/chapter/10.1007%2F978-3-6...


Branch divergence is a very commonly occurring performance problem in GPGPU in which the execution of diverging branches is serialized to execute only one control flow path at a time. Existing hardware mechanism to reconverge threads using a stack causes duplicate execution of code for unstructured control flow graphs. Also the stack mechanism cannot effectively utilize the available parallelism among diverging branches. Further, the amount of nested divergence allowed is also limited by depth of the branch divergence stack. In this paper we propose a simple and elegant transformation to handle all of the above mentioned problems. The transformation converts an unstructured CFG to a structured CFG without duplicating user code. It incurs only a linear increase in the number of basic blocks and also the number of instructions. Our solution linearizes the CFG using a predicate variable. This mechanism reconverges the divergent threads as early as possible. It also reduces the depth of the reconvergence stack. The available parallelism in nested branches can be effectively extracted by scheduling the basic blocks to reduce the effect of stalls due to memory accesses. It can also increase execution efficiency of nested loops with different trip counts for different threads. We implemented the proposed transformation at PTX level using the Ocelot compiler infrastructure. We evaluated the technique using various benchmarks to show that it can be effective in handling the performance problem due to divergence in unstructured CFGs.

Item Type: Conference Proceedings
Series.: Lecture Notes in Computer Science
Additional Information: Copy right for this article belongs to the SPRINGER-VERLAG BERLIN, HEIDELBERGER PLATZ 3, D-14197 BERLIN, GERMANY
Keywords: GPU; Control Divergence; Control Flow Graph
Department/Centre: Division of Interdisciplinary Sciences > Supercomputer Education & Research Centre
Date Deposited: 26 Aug 2015 07:23
Last Modified: 26 Aug 2015 07:23
URI: http://eprints.iisc.ac.in/id/eprint/52263

Actions (login required)

View Item View Item