Characterizing Warp Divergence from Pascal to Blackwell
4 days ago
- The assumption that NVIDIA GPUs handle warp divergence in a fixed manner since Volta's Independent Thread Scheduling is tested across Ampere, Hopper, and Blackwell GPUs, with Pascal as a baseline.
- Divergent paths serialize linearly with path count (T(k) ≈ sk) across all tested generations, with no super-linear reconvergence penalty.
- Warp execution efficiency decreases as 32/k, the penalty is independent of occupancy, and predication eliminates serialization cost.
- The same performance cost model predates ITS, as it appears on Pascal.
- Compiler-emitted reconvergence machinery changed: Pascal uses per-warp SSY/SYNC instruction stack, while later generations use barrier-register instructions.
- Deferred reconvergence beyond the immediate post-dominator drops from 29 cases on Ampere to 2 on Blackwell.
- Blackwell introduces two-tier convergence-barrier classification, uniform-branch instructions, and explicit partial-mask warp synchronization, not present in Ampere or Hopper.
- Controlled bit-flip experiments indicate the new barrier class is a static compiler classification with no observable runtime effect.
- Overall, divergence maintains a stable and predictable performance cost despite evolving control-flow ISA and reconvergence mechanisms.