We gratefully acknowledge support from
the Simons Foundation and member institutions.
Full-text links:


Current browse context:


Change to browse by:

References & Citations

DBLP - CS Bibliography


(what is this?)
CiteULike logo BibSonomy logo Mendeley logo del.icio.us logo Digg logo Reddit logo ScienceWISE logo

Computer Science > Programming Languages

Title: DARM: Control-Flow Melding for SIMT Thread Divergence Reduction -- Extended Version

Abstract: GPGPUs use the Single-Instruction-Multiple-Thread (SIMT) execution model where a group of threads-wavefront or warp-execute instructions in lockstep. When threads in a group encounter a branching instruction, not all threads in the group take the same path, a phenomenon known as control-flow divergence. The control-flow divergence causes performance degradation because both paths of the branch must be executed one after the other. Prior research has primarily addressed this issue through architectural modifications. We observe that certain GPGPU kernels with control-flow divergence have similar control-flow structures with similar instructions on both sides of a branch. This structure can be exploited to reduce control-flow divergence by melding the two sides of the branch allowing threads to reconverge early, reducing divergence. In this work, we present DARM, a compiler analysis and transformation framework that can meld divergent control-flow structures with similar instruction sequences. We show that DARM can reduce the performance degradation from control-flow divergence.
Subjects: Programming Languages (cs.PL); Performance (cs.PF)
Cite as: arXiv:2107.05681 [cs.PL]
  (or arXiv:2107.05681v3 [cs.PL] for this version)

Submission history

From: Charitha Saumya Gusthinna Waduge [view email]
[v1] Mon, 12 Jul 2021 18:34:04 GMT (744kb,D)
[v2] Sat, 18 Dec 2021 04:26:24 GMT (864kb,D)
[v3] Fri, 14 Jan 2022 04:08:15 GMT (1010kb,D)

Link back to: arXiv, form interface, contact.