Transformer 모델의 GPU 학습과 추론을 위한 메모리 효율적인 exact attention 커널 FlashAttention의 공식 구현입니다.
microsoft/antares
AutoRT는 개발자가 자체 가속기용 PyTorch 연산자를 작성하고 벤치마크하며 최적화할 수 있도록 돕는 컴파일러 도구입니다.
- 스타
- 470
- 포크
- 51
- 열린 이슈
- 12
- 마지막 커밋
- 15일 전
어떤 프로젝트인가요?
Microsoft Antares 프로젝트의 차세대 버전인 AutoRT는 자체 가속기에서 PyTorch 연산자를 작성하고 벤치마크하며 튜닝하려는 런타임 사용자를 위한 컴파일러 솔루션입니다. 커널은 CUDA 또는 HIP C++ 함수 본문으로 작성하고, 입력·출력 텐서의 shape과 실행 바인딩을 선언하는 짧은 헤더를 사용합니다.
이 프로젝트는 autort 커맨드라인 도구를 제공합니다. 함수 시그니처, shape 바인딩, blockIdx와 threadIdx를 사용하는 본문을 인라인으로 작성해 기본 커널을 정의하면 AutoRT가 이를 컴파일하고 실행합니다. 저장소에는 이러한 커널을 작성해야 하는 AI 에이전트를 위한 SKILLS.md 가이드도 포함되어 있습니다.
권장 환경은 CUDA용 Docker 이미지(Ubuntu 24.04 및 CUDA 12.8)와 ROCm용 Docker 이미지(Ubuntu 24.04 및 ROCm 7.2.4)입니다. 이전 수동 설정 및 레거시 문서도 참고용으로 보존되어 있지만 사용 중단으로 표시되어 있습니다.
핵심 기능
- 01CUDA 또는 HIP C++ 문법으로 PyTorch 연산자 커널을 작성할 수 있습니다.
- 02인라인으로 정의한 커널을 컴파일하고 실행하는 autort 커맨드라인 도구를 제공합니다.
- 03짧은 헤더에서 텐서 shape과 실행 바인딩을 선언할 수 있습니다.
- 04커널을 작성하는 AI 에이전트를 위한 SKILLS.md 가이드를 포함합니다.
- 05CUDA 및 ROCm 환경용 Docker 구성을 제공합니다.
활용 사례
- NVIDIA GPU에서 사용자 정의 PyTorch 연산자를 프로토타이핑할 때.
- ROCm을 사용해 AMD GPU용 연산자를 포팅하거나 튜닝할 때.
- AI 에이전트가 가속기 커널을 생성하고 테스트하도록 할 때.
빠른 시작
- 1
CUDA 또는 ROCm용 권장 Docker 이미지를 설정합니다
- 2
autort 명령으로 Hello World 예제를 실행합니다
autort -n hello_world_example --source=' @DEF_FUNC: input:float32[B, M] -> output:float32[B, M] @DEF_BIND: ~B~:1, ~%~:1024 void main() { if (int(blockIdx.x) == 0 && int(threadIdx.x) == 0) printf("(autort) Hello World!\n"); }'
사용 전 알아둘 점
- README에 패키지 관리자를 통한 설치 명령이 없어, 권장 Docker 이미지를 사용해 설정해야 합니다.
- CUDA 또는 ROCm 가속기 환경이 필요합니다.
- README에서 이전 버전용으로 더 이상 권장되지 않는 매뉴얼과 레거시 문서를 안내합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- antares은(는) 무엇인가요?
- AutoRT는 개발자가 자체 가속기용 PyTorch 연산자를 작성하고 벤치마크하며 최적화할 수 있도록 돕는 컴파일러 도구입니다. Microsoft Antares 프로젝트의 차세대 버전인 AutoRT는 자체 가속기에서 PyTorch 연산자를 작성하고 벤치마크하며 튜닝하려는 런타임 사용자를 위한 컴파일러 솔루션입니다. 커널은 CUDA 또는 HIP C++ 함수 본문으로 작성하고, 입력·출력 텐서의 shape과 실행 바인딩을 선언하는 짧은 헤더를 사용합니다.
- antares은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- antares은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- antares은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. antares의 마지막 커밋은 2026년 10월 23일입니다.
- antares은(는) 어디에 사용할 수 있나요?
- NVIDIA GPU에서 사용자 정의 PyTorch 연산자를 프로토타이핑할 때. ROCm을 사용해 AMD GPU용 연산자를 포팅하거나 튜닝할 때. AI 에이전트가 가속기 커널을 생성하고 테스트하도록 할 때.
- antares는 어떻게 설치하나요?
- CUDA 또는 ROCm용 권장 Docker 이미지를 설정합니다 autort 명령으로 Hello World 예제를 실행합니다: autort -n hello_world_example --source=' @DEF_FUNC: input:float32[B, M] -> output:float32[B, M] @DEF_BIND: ~B~:1, ~%~:1024 void main() { if (int(blockIdx.x) == 0 && int(threadIdx.x) == 0) printf("(autort) Hello World!\n"); }'
- antares은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/microsoft/antares
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
딥러닝 네트워크를 NVIDIA 및 AMD GPU에서 빠르게 추론할 수 있는 fp16 CUDA/HIP C++ 코드로 컴파일하는 Python 프레임워크입니다.
투기적 디코딩·프리필과 커스텀 커널을 활용해 일반 소비자용 GPU와 AMD/NVIDIA 혼합 시스템에서 구동하는 C++ LLM 추론 서버입니다.
Python과 비슷한 코드로 CUDA보다 생산성 높게 고효율 딥러닝 GPU 커널을 작성할 수 있는 언어이자 컴파일러입니다.
MLIR 기반 컴파일러 및 런타임으로, ML 모델을 통합 IR로 낮춰 데이터센터부터 모바일 및 엣지 기기까지 배포할 수 있습니다.