TIRx는 Apache TVM 위에 만든 오픈소스 하드웨어 네이티브 DSL과 컴파일러 스택이다. 목표는 GEMM, attention, 저정밀 연산처럼 빠르게 바뀌는 ML 커널을 새 GPU 기능과 함께 실험하고 배포하기 쉽게 만드는 것이다.
왜 필요한가
Triton 같은 고수준 커널 DSL은 많은 경우 생산성이 높지만, 최신 가속기 기능을 극한까지 쓰려는 커널에서는 메모리 배치, 파이프라이닝, 동기화, 워프 역할 배정 같은 세부 제어가 필요하다. TIRx는 이 경계를 낮춘다. 컴파일러가 모든 것을 추론하게 하기보다, 전문가가 하드웨어 네이티브 구조를 명시하고 반복되는 tile primitive만 컴파일러가 해석하도록 한다.
프로그래밍 모델
| 구성 | 설명 |
|---|---|
| Execution scope | 어떤 하드웨어 역할이 어느 범위에서 연산을 실행하는지 명시한다. |
| Tensor layout | 텐서가 global memory, shared memory, register, tensor memory, accelerator SRAM 중 어디에 놓이는지 storage-first 방식으로 표현한다. |
| Tile primitive dispatch | operand layout과 target에 따라 copy, MMA, TMA 같은 primitive를 네이티브 IR로 낮춘다. |
새 하드웨어 기능은 먼저 backend intrinsic으로 노출하고, 사용 패턴이 안정되면 tile primitive로 승격한다. 이 방식은 Blackwell 같은 신규 GPU에서 빠르게 커널을 실험하려는 팀에게 맞다.
어디에 적합한가
- 모델 서빙 엔진에서 직접 커널을 최적화하는 시스템 엔지니어
- attention, MoE, 저정밀 GEMM 등 빠르게 변하는 연산을 실험하는 연구팀
- 에이전트가 커널 코드를 생성하고 벤치마크하는 자동 최적화 루프
- TVM 생태계 안에서 더 낮은 수준의 GPU 제어가 필요한 프로젝트
관련 문서
- zml — Zig 기반 머신러닝 컴파일·런타임 스택
- torchtpu — PyTorch 모델을 TPU에서 실행하기 위한 오픈소스 런타임
- vllm — LLM 서빙을 위한 고성능 추론 엔진
참고 자료
- TIRx: An Open Compiler Stack for Evolving Frontier ML Kernels — Apache TVM Blog (2026-06-22)