Warpline: 에이전트 기반 GPU 커널 최적화를 위한 바이너리 레벨 트레이싱 및 통합 증거
요약
Warpline은 GPU 커널 엔지니어링의 병목 현상을 해결하기 위해 개발된 도구입니다. 이 도구는 바이너리 레벨에서 자동으로 프로브를 삽입하여, 재컴파일이나 소스 코드 변경 없이 하드웨어 프로파일링 데이터와 통합 증거를 제공합니다. 이를 통해 LLM 에이전트가 어떤 커널 버전에서도 인간의 개입 없이 최적화 루프를 닫을 수 있음을 입증했습니다.
핵심 포인트
- Warpline은 바이너리 분석만으로 프로브를 삽입하여 재컴파일 과정이 필요 없습니다.
- 기존 트레이서 대비 중앙값 오버헤드가 1.2%로 매우 낮게 측정되었습니다.
- 소스, IR, PTX 등 어떤 레벨의 커널에도 증거 재생성이 가능합니다.
- 에이전트가 최적화 루프를 돌릴 때 기존 방식보다 높은 성능 향상을 달성했습니다.
LLM 에이전트는 이제 GPU 커널 엔지니어가 되고 있지만, 여전히 시간 소모가 어디서 발생하는지 보지 못한 채 커널을 튜닝합니다. 하드웨어 프로파일러는 각 유닛이 얼마나 바빴는지 보고할 뿐, 각 워프(warp)의 시간이 어디에 쓰였는지는 보여주지 못합니다. 인트라-커널 트레이서(intra-kernel tracers)는 이를 보여줄 수 있지만, 이는 수동으로 배치된 프로브(probe)와 측정 대상 커널 자체를 변경하는 재컴파일 과정을 통해서만 가능합니다.
우리는 Warpline을 제시하며, 이 도구는 에이전트에게 이러한 시각적 정보를 자동으로 제공하면서도 커널 자체의 변화를 최소화합니다. Warpline은 바이너리를 분석하여 어떤 이벤트를 기록할지 결정하고, 재컴파일이나 수동 단계 없이 바이너리 자체에 프로브를 삽입합니다. 그런 다음 이를 하나의 통합된 타임라인에서 하드웨어 프로파일링 데이터와 정렬합니다. 오직 바이너리만 필요하기 때문에, 에이전트가 소스(source), IR, 또는 PTX 등 어떤 레벨로 편집하든 모든 새로운 버전의 커널에 대해 이 증거를 재생성할 수 있어 인간의 개입 없이 최적화 루프를 닫습니다.
NVIDIA B200에서 Triton, CuTe DSL, 및 CUDA C++의 35개 커널을 대상으로 Warpline은 중앙값 오버헤드(median overhead)가 1.2%에 불과하며 실행된 명령어 중 중앙값 99.9%를 변경하지 않습니다. 반면 기존 트레이서는 중앙값 오버헤드가 1.6%에서 13.2%에 달하고, 변경되지 않은 비율은 4.6%에서 32.7%에 불과합니다. 또한 Warpline은 이러한 트레이서가 추적할 수 없는 클로즈드 소스(closed-source) 커널도 트레이싱합니다.
10개의 SOL-ExecBench 문제에서, Warpline을 사용하는 에이전트는 순수 코딩 에이전트와 NVIDIA의 Kernel Design Agents (KDA)보다 적은 시간과 더 적은 모델 요청을 사용하면서도, 기하 평균(geometric mean) 및 모든 라운드 이후에 두 그룹 모두를 능가하며 각각 6.94$ imes$, 6.13$ imes$ 대비 7.69$ imes$의 기하 평균 속도 향상을 달성합니다. 또한 두 가지 사례 연구는 Warpline이 숨겨진 병목 현상을 밝히고 실행 가능한 최적화 통찰력을 제공함을 추가로 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기