피드로 돌아가기
Popping the GPU Bubble
Hacker NewsHacker News
AI/ML

Pipelined Decoding으로 GPU Bubble 제거, B200 기준 성능 최대 34% 향상

Popping the GPU Bubble

2026년 6월 30일15advanced

Context

Autoregressive 모델의 Token 생성 과정에서 발생하는 CPU Housekeeping 비용으로 인한 GPU Idle 상태인 'GPU Bubble' 현상 발생. CPU의 Token 선택 및 메타데이터 설정 작업이 완료될 때까지 GPU가 대기하는 순차적 Blocking 구조의 한계 노출.

Technical Solution

  • Pipelined Decoding 도입을 통한 CPU 작업과 GPU Forward 연산의 Overlap 구조 설계
  • Ping-pong Slots 방식을 적용하여 두 개의 DecodeSlot을 교차 사용함으로써 Buffer 충돌 방지 및 병렬 처리 구현
  • Pinned Host Buffer와 DMA(Direct Memory Access) 전송을 활용하여 CPU 블로킹 없는 백그라운드 데이터 복사 수행
  • Compute Stream과 Copy Stream을 분리하여 다음 Token의 Forward 연산과 이전 Token의 결과 복사를 동시 처리
  • Constrained Decoding 대응을 위해 Forward 연산과 Sampling 단계를 분리하여 실행 순서 최적화
  • Zombie Refcounting 메커니즘을 통해 종료된 요청의 리소스를 안전하게 회수하는 클린업 프로세스 구축

1. GPU 연산 전후의 CPU 전처리/후처리 시간이 연산 시간 대비 비중이 높은지 분석

2. 단일 Buffer 사용으로 인한 Blocking 구간을 확인하고 Double Buffering 또는 Ping-pong 구조 도입 검토

3. Compute/Copy 스트림 분리를 통해 데이터 전송과 커널 실행의 Overlap 가능 여부 확인

4. 런타임 GPU Memory Allocation을 제거하고 Fixed Buffer 주소 기반의 CUDA Graph 적용 고려

원문 읽기