PyTorch GPU 커널은 비동기적으로 실행되므로, 단순한 Python 타이밍은 GPU 작업이 아닌 CPU 스케줄링을 측정합니다. 이 가이드에서는 CUDA 이벤트, 동기화, 워밍업, 그리고 (선택적으로) L2 캐시 플러싱을 사용하여 올바르게 벤치마킹하는 방법을 보여줍니다. 또한 CPU 오버헤드를 줄이기 위해 Triton의 do_bench와 CUDA 그래프를 활용하는 방법도 소개합니다. 더불어, MoE 그룹화된 GEMM에서 토큰 라우팅 불균형을 예시로 들어 현실적인 벤치마크는 프로덕션 데이터 패턴을 반영해야 한다는 주장을 펼칩니다.
hackernoon.com
What Really Determines the Speed of Your PyTorch Code?
bsky.app
Hacker & Security News on Bluesky @hacker.at.thenote.app
