nano-vLLM Kernel Optimization

이 경로는 PyTorch profiling과 CUDA kernel 실습을 nano-vLLM serving loop에 연결하는 경로입니다.

핵심은 standalone kernel benchmark에서 멈추지 않는 것입니다. RMSNorm이나 attention이 단독으로 빨라졌을 때, 실제 serving loop의 TTFT, TPOT, throughput, peak memory가 어떻게 바뀌는지 확인합니다.

이 path의 최종 산출물은 전후 비교 리포트입니다.

baseline nano-vLLM
  -> bottleneck profile
  -> kernel swap
  -> correctness check
  -> TTFT / TPOT / throughput report
  1. Attention Workload: Prefill vs Decode — attention benchmark를 prefill-like와 decode-like workload로 나누어 측정한다.
  2. Optimized Attention Benchmark — manual attention, PyTorch SDPA, optimized attention backend를 prefill/decode workload에서 비교한다.
  3. nano-vLLM Kernel Integration Points — nano-vLLM serving loop에서 RMSNorm, attention, sampling 같은 kernel 교체 지점을 찾는다.
  4. nano-vLLM RMSNorm Kernel Swap — PyTorch RMSNorm을 custom/optimized RMSNorm kernel로 교체하고 model output과 serving metric을 비교한다.
  5. nano-vLLM Attention Kernel Swap — manual/SDPA/optimized attention을 nano-vLLM prefill/decode loop에 연결하고 전후 성능을 비교한다.
  6. nano-vLLM Sampling Kernel Candidate — logits에서 token을 고르는 sampling 경로가 언제 kernel 최적화 후보가 되는지 판단한다.
  7. nano-vLLM Prefill/Decode Benchmark Report — kernel swap 전후의 TTFT, TPOT, throughput, memory를 prefill/decode workload별로 정리한다.