ChatPaper.aiChatPaper

PascalからBlackwellまでのワープダイバージェンスの特性評価

Characterizing Warp Divergence from Pascal to Blackwell

July 26, 2026
著者: Alpin Dale
cs.AI

要旨

Voltaによる独立スレッドスケジューリング(ITS)の導入以降、NVIDIA GPUはワープ発散を固定された方法で処理すると広く想定されてきた。本稿では、この想定をAmpere、Hopper、ならびにデータセンター向けおよびコンシューマ向けBlackwell GPUにおいて検証し、ITS以前のPascalをベースラインとして用いる。サイクル精度のマイクロベンチマーク、ハードウェアカウンタ、コンパイラ生成SASSの静的解析を組み合わせることで、安定した動作とアーキテクチャの変化を区別する。検証した全世代において、発散パスはパス数kに対して線形に直列化され、T(k) ≈ sk の関係に従い、超線形の再収束ペナルティは観測されない。ワープ実行効率は32/kに低下し、そのペナルティは占有率に依存せず、プレディケーションによって直列化コストは除去される。同じ振る舞いはPascalでも確認され、このプログラマ可視のコストモデルがITSよりも前に存在したことを示している。しかしながら、コンパイラが出力する再収束機構は大幅に変化している。PascalではワープごとのSSY/SYNC命令スタックが用いられたのに対し、以降の世代ではバリアレジスタ命令が使用される。即時ポストドミネータを超えた遅延再収束の数は、Ampereの29件からBlackwellでは2件に減少している。またBlackwellでは、二層の収束バリア分類、均一分岐命令、明示的な部分マスクワープ同期が導入されており、これらはいずれもAmpereやHopperには存在しない。制御ビット反転実験により、新たなバリア分類は静的コンパイラ分類であり、我々のテストでは観測可能な実行時効果を持たないことが示された。したがって、NVIDIAの制御フローISAおよび再収束機構が進化を続ける中でも、発散は安定した予測可能な性能コストを維持している。
English
Since Volta introduced Independent Thread Scheduling (ITS), NVIDIA GPUs have been widely assumed to handle warp divergence in a fixed manner. We test this assumption across Ampere, Hopper, and datacenter and consumer Blackwell GPUs, using pre-ITS Pascal as a baseline. Combining cycle-accurate microbenchmarks, hardware counters, and static analysis of compiler-generated SASS, we separate stable behavior from architectural change. Across all tested generations, divergent paths serialize linearly with the number of paths k, following T(k) approx sk with no super-linear reconvergence penalty. Warp execution efficiency falls as 32/k, the penalty is independent of occupancy, and predication removes the serialization cost. The same behavior appears on Pascal, showing that this programmer-visible cost model predates ITS. The compiler-emitted reconvergence machinery, however, has changed substantially. Pascal uses a per-warp SSY/SYNC instruction stack, whereas later generations use barrier-register instructions. Deferred reconvergence beyond the immediate post-dominator falls from 29 cases on Ampere to 2 on Blackwell. Blackwell also introduces a two-tier convergence-barrier classification, uniform-branch instructions, and explicit partial-mask warp synchronization, none of which appear on Ampere or Hopper. Controlled bit-flip experiments indicate that the new barrier class is a static compiler classification with no observable runtime effect in our tests. Thus, divergence retains a stable and predictable performance cost even as NVIDIA's control-flow ISA and reconvergence mechanisms continue to evolve.