RightNow-AI/autokernel
PyTorch 모델을 프로파일링하고 병목 GPU 커널을 Triton 또는 CUDA C++로 최적화하는 자율 에이전트 파이프라인입니다.
- 스타
- 1,620
- 포크
- 164
- 열린 이슈
- 16
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
AutoKernel은 임의의 PyTorch 모델을 가져와 torch.profiler로 프로파일링하고 GPU 실행 시간을 기준으로 커널 순위를 매긴 뒤, 상위 병목 커널을 독립 실행형 Triton 또는 CUDA C++ 커널로 추출합니다. 코딩 에이전트는 한 번에 커널 파일 하나씩 수정하고, 5단계 정확성 검사와 roofline 분석을 포함한 고정 벤치마크를 실행한 다음 각 변경 사항을 유지하거나 되돌립니다. 오케스트레이터는 Amdahl의 법칙을 사용해 다음 커널로 넘어갈 시점을 결정합니다.
이 프로젝트는 NVIDIA GPU를 대상으로 하며 matmul, softmax, layernorm, rmsnorm, flash attention, fused MLP, cross entropy, rotary embeddings, reduce용 시작 커널을 포함합니다. 또한 GPT-2, LLaMA, BERT의 독립 실행형 모델 정의와, KernelBench 벤치마크의 문제를 반복적으로 최적화하는 통합 기능도 제공합니다. 결과는 TSV 파일에 기록되며, 최적화된 커널은 HuggingFace Hub로 내보낼 수 있습니다.
핵심 기능
- 01PyTorch 모델을 프로파일링하고 GPU 실행 시간을 기준으로 커널 순위를 매기며, 연산 집약형인지 메모리 집약형인지 분류합니다.
- 02--backend 플래그를 사용해 병목 커널을 Triton 또는 CUDA C++ 파일로 추출합니다.
- 03성능 측정 전에 여러 단계의 정확성 검사를 포함한 고정 벤치마크를 실행합니다.
- 04Amdahl의 법칙을 사용해 예상되는 전체 성능 개선 효과에 따라 커널 최적화 순서를 정합니다.
- 05전체 모델에서 최적화된 커널을 검증하고 전체 속도 향상률을 보고합니다.
- 06KernelBench와 통합하고 커널을 HuggingFace Hub로 내보냅니다.
활용 사례
- 가장 느린 GPU 연산을 밤새 최적화해 맞춤형 PyTorch 모델의 추론 또는 학습을 가속합니다.
- 명확하게 정의된 GPU 성능 최적화 작업에서 자율 코딩 에이전트를 실험합니다.
- KernelBench 문제를 사용해 AI가 생성한 커널을 PyTorch 기준 구현과 비교해 벤치마크합니다.
- 직접 튜닝한 Triton 또는 CUDA 커널을 HuggingFace 커널 패키지로 생성하고 공유합니다.
빠른 시작
- 1
uv를 설치합니다(또는 README의 공식 uv 설치 안내를 따릅니다)
- 2
저장소를 클론합니다
git clone https://github.com/RightNow-AI/autokernel.git - 3
클론한 폴더 안에서 종속성을 설치합니다
uv sync - 4
테스트 데이터와 기준선을 한 번 설정한 다음 벤치마크를 확인합니다
uv run prepare.py
사용 전 알아둘 점
- NVIDIA GPU가 필요합니다. README에 따르면 H100, A100, RTX 4090에서만 테스트되었습니다.
- Python 3.10 이상과 uv가 필요합니다.
- 최적화 에이전트를 실행하려면 Claude나 Codex와 같은 별도의 코딩 에이전트가 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- autokernel은(는) 무엇인가요?
- PyTorch 모델을 프로파일링하고 병목 GPU 커널을 Triton 또는 CUDA C++로 최적화하는 자율 에이전트 파이프라인입니다. AutoKernel은 임의의 PyTorch 모델을 가져와 torch.profiler로 프로파일링하고 GPU 실행 시간을 기준으로 커널 순위를 매긴 뒤, 상위 병목 커널을 독립 실행형 Triton 또는 CUDA C++ 커널로 추출합니다. 코딩 에이전트는 한 번에 커널 파일 하나씩 수정하고, 5단계 정확성 검사와 roofline 분석을 포함한 고정 벤치마크를 실행한 다음 각 변경 사항을 유지하거나 되돌립니다. 오케스트레이터는 Amdahl의 법칙을 사용해 다음 커널로 넘어갈 시점을 결정합니다.
- autokernel은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- autokernel은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- autokernel은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. autokernel의 마지막 커밋은 2026년 11월 5일입니다.
- autokernel은(는) 어디에 사용할 수 있나요?
- 가장 느린 GPU 연산을 밤새 최적화해 맞춤형 PyTorch 모델의 추론 또는 학습을 가속합니다. 명확하게 정의된 GPU 성능 최적화 작업에서 자율 코딩 에이전트를 실험합니다. KernelBench 문제를 사용해 AI가 생성한 커널을 PyTorch 기준 구현과 비교해 벤치마크합니다. 직접 튜닝한 Triton 또는 CUDA 커널을 HuggingFace 커널 패키지로 생성하고 공유합니다.
- autokernel는 어떻게 설치하나요?
- uv를 설치합니다(또는 README의 공식 uv 설치 안내를 따릅니다) 저장소를 클론합니다: git clone https://github.com/RightNow-AI/autokernel.git 클론한 폴더 안에서 종속성을 설치합니다: uv sync 테스트 데이터와 기준선을 한 번 설정한 다음 벤치마크를 확인합니다: uv run prepare.py
- autokernel은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/RightNow-AI/autokernel
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Transformer 모델의 GPU 학습과 추론을 위한 메모리 효율적인 exact attention 커널 FlashAttention의 공식 구현입니다.
혼합 정밀도 및 분산 학습 유틸리티와 선택적 CUDA 및 C++ 융합 커널을 제공하는 NVIDIA의 PyTorch 확장입니다.
딥러닝 네트워크를 NVIDIA 및 AMD GPU에서 빠르게 추론할 수 있는 fp16 CUDA/HIP C++ 코드로 컴파일하는 Python 프레임워크입니다.
Karpathy의 autoresearch에서 영감을 얻은, 목표 기반 수정·검증·유지/되돌리기 루프를 실행하는 Claude Code, OpenCode, Codex용 스킬입니다.