English

On Thread Convergence

Programming Languages 2026-07-13 v1

Abstract

We introduce a notion of convergence for the nodes and edges of a control-flow graph that captures whether a barrier placed at that location is guaranteed to synchronize all threads of a thread block in every execution. Convergence analysis lets a compiler determine when a barrier lies in a uniformly executed region and therefore avoid the code transformations otherwise required to implement thread-block barriers correctly on warp-synchronous hardware. We formalize convergent nodes, convergent edges, and well-synchronized programs; give two inference rules (a branch rule and a merge rule); and present a linear-time iterative work-list algorithm that propagates convergence information bidirectionally through the flow graph. We then describe refinements that improve precision using single-entry single-exit region information, path information, and thread-variance information.

Cite

@article{arxiv.2607.11636,
  title  = {On Thread Convergence},
  author = {Vinod Grover and Manjunath Kudlur},
  journal= {arXiv preprint arXiv:2607.11636},
  year   = {2026}
}