meta-pytorch/KernelAgent
Autonomous GPU Kernel Generation & Optimization via Deep Agents
해결하는 문제
KernelAgent는 GPU 커널의 생성과 성능 튜닝을 자동화합니다. 수동으로 고성능 Triton 커널을 작성하는 어려움을 해결하며, PyTorch 프로그램을 검증된 최적화된 Triton 코드로 변환함으로써, 하드웨어에 특화된 성능 향상을 달성하기 위해 전문가 수준의 GPU 프로그래밍 지식이 필요 없게 됩니다.
작동 방식
이 시스템은 두 가지 주요 파이프라인을 통해 작동합니다.
커널 생성: "AutoRouter"는 PyTorch AST를 분석하고 최적의 경로를 결정합니다. "Fuser Orchestrator"는 코드를 결합 가능한 하위 그래프로 재구성한 후, 병렬로 작동하는 LLM 기반 에이전트에게 디스패치합니다. 이 에이전트들은 반복적으로 Triton 커널을 생성하고 단위 테스트에 대해 검증합니다. 마지막으로, "Composer"는 이러한 커널들을 하나의 검증된 Triton 프로그램으로 조합합니다.
커널 최적화: 이 파이프라인은 하드웨어 가이드 루프를 사용합니다. NVIDIA NCU를 사용해 커널을 프로파일링하여 하드웨어 메트릭을 수집하고, 루프라인 분석을 통해 커널이 메모리 제한인지 계산 제한인지 식별합니다. 이후 LLM을 사용해 버トル넥을 진단하고 수정 제안을 합니다. 이 루프는 커널이 성능 한계(빛의 속도)에 도달하거나 수렴할 때까지 반복됩니다.
대상 사용자
- 수동으로 원시 Triton 커널을 작성하지 않고도 PyTorch 연산을 최적화하고 싶은 GPU 개발자 및 ML 엔지니어.
- NVIDIA 및 Intel XPU GPU용 맞춤형 연산 병합 및 하드웨어 특화 커널 튜닝을 연구하는 연구자.
주요 특징
- 다중 플랫폼 지원: NVIDIA CUDA와 Intel XPU GPU 모두 지원.
- 다중 에이전트 오케스트레이션: 엄격한 런타임 검증 기반으로 병렬 워커가 커널을 생성하고 개선.
- 하드웨어 가이드 튜닝: 실제 GPU 프로파일링(NCU)과 루프라인 분석을 LLM 최적화 루프에 통합.
- 엔드투엔드 자동화: PyTorch 코드 분석 및 하위 그래프 추출에서 최종 조합 및 벤치마킹까지 모든 과정을 자동 처리.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트