파스칼에서 블랙웰까지의 워프 다이버전스 특성화
Characterizing Warp Divergence from Pascal to Blackwell
July 26, 2026
저자: Alpin Dale
cs.AI
초록
Volta가 독립 스레드 스케줄링(ITS)을 도입한 이후, NVIDIA GPU는 워프 분기를 고정된 방식으로 처리한다고 널리 가정되어 왔다. 본 연구에서는 ITS 이전의 Pascal을 기준선으로 삼아 Ampere, Hopper, 그리고 데이터센터 및 소비자용 Blackwell GPU에서 이러한 가정을 검증한다. 사이클 정확한 마이크로벤치마크, 하드웨어 카운터, 그리고 컴파일러가 생성한 SASS의 정적 분석을 결합하여, 안정적인 동작과 아키텍처 변경을 분리한다. 테스트된 모든 세대에서 분기 경로는 경로 수 k에 따라 선형적으로 직렬화되며, T(k) ≈ sk를 따르고 초선형 재수렴 패널티는 나타나지 않는다. 워프 실행 효율은 32/k로 감소하며, 이 패널티는 점유율과 무관하고, 술어화(predication)는 직렬화 비용을 제거한다. 동일한 동작이 Pascal에서도 관찰되어, 이러한 프로그래머가 확인 가능한 비용 모델이 ITS 이전에 존재했음을 보여준다. 그러나 컴파일러가 생성하는 재수렴 메커니즘은 상당히 변경되었다. Pascal은 워프별 SSY/SYNC 명령어 스택을 사용하는 반면, 이후 세대는 배리어 레지스터 명령어를 사용한다. 즉시 후행 지배자(immediate post-dominator)를 넘어선 지연 재수렴은 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.